Renderd7-nightly  v0.7.0
nlohmann::basic_json::json_value Union Reference

a JSON value More...

Public Member Functions

 json_value ()=default
 default constructor (for null values)
 
 json_value (boolean_t v) noexcept
 constructor for booleans
 
 json_value (number_integer_t v) noexcept
 constructor for numbers (integer)
 
 json_value (number_unsigned_t v) noexcept
 constructor for numbers (unsigned)
 
 json_value (number_float_t v) noexcept
 constructor for numbers (floating-point)
 
 json_value (value_t t)
 constructor for empty values of a given type
 
 json_value (const string_t &value)
 constructor for strings
 
 json_value (string_t &&value)
 constructor for rvalue strings
 
 json_value (const object_t &value)
 constructor for objects
 
 json_value (object_t &&value)
 constructor for rvalue objects
 
 json_value (const array_t &value)
 constructor for arrays
 
 json_value (array_t &&value)
 constructor for rvalue arrays
 
 json_value (const typename binary_t::container_type &value)
 constructor for binary arrays
 
 json_value (typename binary_t::container_type &&value)
 constructor for rvalue binary arrays
 
 json_value (const binary_t &value)
 constructor for binary arrays (internal type)
 
 json_value (binary_t &&value)
 constructor for rvalue binary arrays (internal type)
 

Public Attributes

object_tobject
 object (stored with pointer to save storage)
 
array_tarray
 array (stored with pointer to save storage)
 
string_tstring
 string (stored with pointer to save storage)
 
binary_tbinary
 binary (stored with pointer to save storage)
 
boolean_t boolean
 boolean
 
number_integer_t number_integer
 number (integer)
 
number_unsigned_t number_unsigned
 number (unsigned integer)
 
number_float_t number_float
 number (floating-point)
 

Detailed Description

a JSON value

The actual storage for a JSON value of the basic_json class. This union combines the different storage types for the JSON value types defined in value_t.

JSON type value_t type used type
object object pointer to object_t
array array pointer to array_t
string string pointer to string_t
boolean boolean boolean_t
number number_integer number_integer_t
number number_unsigned number_unsigned_t
number number_float number_float_t
binary binary pointer to binary_t
null null no value is stored
Note
Variable-length types (objects, arrays, and strings) are stored as pointers. The size of the union should not exceed 64 bits if the default value types are used.
Since
version 1.0.0