WPILibC++  unspecified
wpi::json::json_value Union Reference

a JSON value More...

#include <json.h>

Collaboration diagram for wpi::json::json_value:

Public Member Functions

 json_value ()=default
 default constructor (for null values)
 
 json_value (bool v) noexcept
 constructor for booleans
 
 json_value (std::int64_t v) noexcept
 constructor for numbers (integer)
 
 json_value (std::uint64_t v) noexcept
 constructor for numbers (unsigned)
 
 json_value (double v) noexcept
 constructor for numbers (floating-point)
 
 json_value (value_t t)
 constructor for empty values of a given type
 
 json_value (llvm::StringRef value)
 constructor for strings
 
 json_value (const std::string &value)
 
 json_value (const object_t &value)
 constructor for objects
 
 json_value (const array_t &value)
 constructor for arrays
 

Public Attributes

object_tobject
 object (stored with pointer to save storage)
 
array_tarray
 array (stored with pointer to save storage)
 
std::string * string
 string (stored with pointer to save storage)
 
bool boolean
 boolean
 
std::int64_t number_integer
 number (integer)
 
std::uint64_t number_unsigned
 number (unsigned integer)
 
double number_float
 number (floating-point)
 

Detailed Description

a JSON value

The actual storage for a JSON value of the 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 std::string
boolean boolean bool
number number_integer std::int64_t
number number_unsigned std::uint64_t
number number_float double
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

The documentation for this union was generated from the following files: