D++ (DPP)
C++ Discord API Bot Library
dpp::json_interface< T > Struct Template Reference

Represents an interface for an object that can optionally implement functions for converting to and from nlohmann::json. In the event either parse_from_json() or build_json() are not implemented and are called, they will throw at runtime. More...

#include <json_interface.h>

+ Inheritance diagram for dpp::json_interface< T >:

Public Member Functions

T & fill_from_json (nlohmann::json *j)
 Convert object from nlohmann::json. More...
 
virtual std::string build_json (bool with_id=false) const
 Build JSON string from the object. More...
 

Protected Member Functions

 ~json_interface ()=default
 

Detailed Description

template<typename T>
struct dpp::json_interface< T >

Represents an interface for an object that can optionally implement functions for converting to and from nlohmann::json. In the event either parse_from_json() or build_json() are not implemented and are called, they will throw at runtime.

Template Parameters
TType of class that implements the interface

Constructor & Destructor Documentation

◆ ~json_interface()

template<typename T >
dpp::json_interface< T >::~json_interface ( )
protecteddefault

Member Function Documentation

◆ build_json()

template<typename T >
virtual std::string dpp::json_interface< T >::build_json ( bool  with_id = false) const
inlinevirtual

◆ fill_from_json()

template<typename T >
T & dpp::json_interface< T >::fill_from_json ( nlohmann::json *  j)
inline

Convert object from nlohmann::json.

Parameters
jnlohmann::json object
Returns
T& Reference to self for fluent calling
D++ Library version 10.0.34D++ Library version 10.0.33D++ Library version 10.0.32D++ Library version 10.0.31D++ Library version 10.0.30D++ Library version 10.0.29D++ Library version 10.0.28D++ Library version 10.0.27D++ Library version 10.0.26D++ Library version 10.0.25D++ Library version 10.0.24D++ Library version 10.0.23D++ Library version 10.0.22D++ Library version 10.0.21D++ Library version 10.0.20D++ Library version 10.0.19D++ Library version 10.0.18D++ Library version 10.0.17D++ Library version 10.0.16D++ Library version 10.0.15D++ Library version 10.0.14D++ Library version 10.0.13D++ Library version 10.0.12D++ Library version 10.0.11D++ Library version 10.0.10D++ Library version 10.0.9D++ Library version 10.0.8D++ Library version 10.0.7D++ Library version 10.0.6D++ Library version 10.0.5D++ Library version 10.0.4D++ Library version 10.0.3D++ Library version 10.0.2D++ Library version 10.0.1D++ Library version 10.0.0D++ Library version 9.0.19D++ Library version 9.0.18D++ Library version 9.0.17D++ Library version 9.0.16D++ Library version 9.0.15D++ Library version 9.0.14D++ Library version 9.0.13D++ Library version 9.0.12D++ Library version 9.0.11D++ Library version 9.0.10D++ Library version 9.0.9D++ Library version 9.0.8D++ Library version 9.0.7D++ Library version 9.0.6D++ Library version 9.0.5D++ Library version 9.0.4D++ Library version 9.0.3D++ Library version 9.0.2D++ Library version 9.0.1D++ Library version 9.0.0D++ Library version 1.0.2D++ Library version 1.0.1D++ Library version 1.0.0