flexiblesusy is hosted by Hepforge, IPPP Durham
FlexibleSUSY
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value Union Reference

a JSON value More...

Collaboration diagram for nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value:
Collaboration graph

Public Member Functions

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

Public Attributes

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

Detailed Description

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType, class BooleanType, class NumberIntegerType, class NumberUnsignedType, class NumberFloatType, template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType, class CustomBaseClass>
union nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value

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

Definition at line 19725 of file json.hpp.

Constructor & Destructor Documentation

◆ json_value() [1/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( )
default

default constructor (for null values)

◆ json_value() [2/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( boolean_t  v)
inlinenoexcept

constructor for booleans

Definition at line 19747 of file json.hpp.

◆ json_value() [3/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( number_integer_t  v)
inlinenoexcept

constructor for numbers (integer)

Definition at line 19749 of file json.hpp.

◆ json_value() [4/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( number_unsigned_t  v)
inlinenoexcept

constructor for numbers (unsigned)

Definition at line 19751 of file json.hpp.

◆ json_value() [5/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( number_float_t  v)
inlinenoexcept

constructor for numbers (floating-point)

Definition at line 19753 of file json.hpp.

◆ json_value() [6/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( value_t  t)
inline

constructor for empty values of a given type

Definition at line 19755 of file json.hpp.

References JSON_HEDLEY_UNLIKELY, and JSON_THROW.

◆ json_value() [7/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( const string_t value)
inline

constructor for strings

Definition at line 19827 of file json.hpp.

◆ json_value() [8/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( string_t &&  value)
inline

constructor for rvalue strings

Definition at line 19830 of file json.hpp.

◆ json_value() [9/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( const object_t value)
inline

constructor for objects

Definition at line 19833 of file json.hpp.

◆ json_value() [10/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( object_t &&  value)
inline

constructor for rvalue objects

Definition at line 19836 of file json.hpp.

◆ json_value() [11/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( const array_t value)
inline

constructor for arrays

Definition at line 19839 of file json.hpp.

◆ json_value() [12/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( array_t &&  value)
inline

constructor for rvalue arrays

Definition at line 19842 of file json.hpp.

◆ json_value() [13/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( const typename binary_t::container_type &  value)
inline

constructor for binary arrays

Definition at line 19845 of file json.hpp.

◆ json_value() [14/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( typename binary_t::container_type &&  value)
inline

constructor for rvalue binary arrays

Definition at line 19848 of file json.hpp.

◆ json_value() [15/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( const binary_t value)
inline

constructor for binary arrays (internal type)

Definition at line 19851 of file json.hpp.

◆ json_value() [16/16]

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::json_value ( binary_t &&  value)
inline

constructor for rvalue binary arrays (internal type)

Definition at line 19854 of file json.hpp.

Member Function Documentation

◆ destroy()

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
void nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::destroy ( value_t  t)
inline

Definition at line 19856 of file json.hpp.

References nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::array, nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::is_array(), nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::is_object(), nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::m_data, nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::data::m_value, and nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::object.

Referenced by nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::data::~data().

Member Data Documentation

◆ array

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
array_t* nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::array

◆ binary

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
binary_t* nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::binary

◆ boolean

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
boolean_t nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::boolean

◆ number_float

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
number_float_t nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::number_float

◆ number_integer

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
number_integer_t nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::number_integer

◆ number_unsigned

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
number_unsigned_t nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::number_unsigned

◆ object

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
object_t* nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::object

◆ string

template<template< typename, typename, typename... > class ObjectType, template< typename, typename... > class ArrayType, class StringType , class BooleanType , class NumberIntegerType , class NumberUnsignedType , class NumberFloatType , template< typename > class AllocatorType, template< typename, typename=void > class JSONSerializer, class BinaryType , class CustomBaseClass >
string_t* nlohmann::json_abi_v3_11_3::basic_json< ObjectType, ArrayType, StringType, BooleanType, NumberIntegerType, NumberUnsignedType, NumberFloatType, AllocatorType, JSONSerializer, BinaryType, CustomBaseClass >::json_value::string

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