Horizon
|
detail namespace with internal helper functions More...
Namespaces | |
dtoa_impl | |
implements the Grisu2 algorithm for binary to decimal floating-point conversion. | |
Typedefs | |
using | input_adapter_t = std::shared_ptr< input_adapter_protocol > |
a type to simplify interfaces | |
template<bool B, typename T = void> | |
using | enable_if_t = typename std::enable_if< B, T >::type |
template<typename T > | |
using | uncvref_t = typename std::remove_cv< typename std::remove_reference< T >::type >::type |
template<typename... Ts> | |
using | index_sequence_for = make_index_sequence< sizeof...(Ts)> |
template<typename CharType > | |
using | output_adapter_t = std::shared_ptr< output_adapter_protocol< CharType > > |
a type to simplify interfaces | |
Enumerations | |
enum | value_t : std::uint8_t { value_t::null, value_t::object, value_t::array, value_t::string, value_t::boolean, value_t::number_integer, value_t::number_unsigned, value_t::number_float, value_t::discarded } |
the JSON type enumeration More... | |
Functions | |
template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0> | |
void | get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, typename BasicJsonType::boolean_t &b) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, typename BasicJsonType::string_t &s) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, typename BasicJsonType::number_float_t &val) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, typename BasicJsonType::number_unsigned_t &val) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, typename BasicJsonType::number_integer_t &val) |
template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0> | |
void | from_json (const BasicJsonType &j, EnumType &e) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, typename BasicJsonType::array_t &arr) |
template<typename BasicJsonType , typename T , typename Allocator , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0> | |
void | from_json (const BasicJsonType &j, std::forward_list< T, Allocator > &l) |
template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< BasicJsonType, T >::value, int > = 0> | |
void | from_json (const BasicJsonType &j, std::valarray< T > &l) |
template<typename BasicJsonType , typename CompatibleArrayType > | |
void | from_json_array_impl (const BasicJsonType &j, CompatibleArrayType &arr, priority_tag< 0 >) |
template<typename BasicJsonType , typename CompatibleArrayType > | |
auto | from_json_array_impl (const BasicJsonType &j, CompatibleArrayType &arr, priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename CompatibleArrayType::size_type >()), void()) |
template<typename BasicJsonType , typename T , std::size_t N> | |
void | from_json_array_impl (const BasicJsonType &j, std::array< T, N > &arr, priority_tag< 2 >) |
template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value and std::is_convertible< BasicJsonType, typename CompatibleArrayType::value_type >::value and not std::is_same< typename BasicJsonType::array_t, CompatibleArrayType >::value, int > = 0> | |
void | from_json (const BasicJsonType &j, CompatibleArrayType &arr) |
template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value, int > = 0> | |
void | from_json (const BasicJsonType &j, CompatibleObjectType &obj) |
template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_unsigned_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_integer_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::number_float_t >::value and not std::is_same< ArithmeticType, typename BasicJsonType::boolean_t >::value, int > = 0> | |
void | from_json (const BasicJsonType &j, ArithmeticType &val) |
template<typename BasicJsonType , typename A1 , typename A2 > | |
void | from_json (const BasicJsonType &j, std::pair< A1, A2 > &p) |
template<typename BasicJsonType , typename Tuple , std::size_t... Idx> | |
void | from_json_tuple_impl (const BasicJsonType &j, Tuple &t, index_sequence< Idx... >) |
template<typename BasicJsonType , typename... Args> | |
void | from_json (const BasicJsonType &j, std::tuple< Args... > &t) |
template<typename FloatType > | |
char * | to_chars (char *first, char *last, FloatType value) |
generates a decimal representation of the floating-point number value in [first, last). More... | |
template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, typename BasicJsonType::boolean_t >::value, int > = 0> | |
void | to_json (BasicJsonType &j, T b) noexcept |
template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< typename BasicJsonType::string_t, CompatibleString >::value, int > = 0> | |
void | to_json (BasicJsonType &j, const CompatibleString &s) |
template<typename BasicJsonType > | |
void | to_json (BasicJsonType &j, typename BasicJsonType::string_t &&s) |
template<typename BasicJsonType , typename FloatType , enable_if_t< std::is_floating_point< FloatType >::value, int > = 0> | |
void | to_json (BasicJsonType &j, FloatType val) noexcept |
template<typename BasicJsonType , typename CompatibleNumberUnsignedType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_unsigned_t, CompatibleNumberUnsignedType >::value, int > = 0> | |
void | to_json (BasicJsonType &j, CompatibleNumberUnsignedType val) noexcept |
template<typename BasicJsonType , typename CompatibleNumberIntegerType , enable_if_t< is_compatible_integer_type< typename BasicJsonType::number_integer_t, CompatibleNumberIntegerType >::value, int > = 0> | |
void | to_json (BasicJsonType &j, CompatibleNumberIntegerType val) noexcept |
template<typename BasicJsonType , typename EnumType , enable_if_t< std::is_enum< EnumType >::value, int > = 0> | |
void | to_json (BasicJsonType &j, EnumType e) noexcept |
template<typename BasicJsonType > | |
void | to_json (BasicJsonType &j, const std::vector< bool > &e) |
template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value or std::is_same< typename BasicJsonType::array_t, CompatibleArrayType >::value, int > = 0> | |
void | to_json (BasicJsonType &j, const CompatibleArrayType &arr) |
template<typename BasicJsonType , typename T , enable_if_t< std::is_convertible< T, BasicJsonType >::value, int > = 0> | |
void | to_json (BasicJsonType &j, std::valarray< T > arr) |
template<typename BasicJsonType > | |
void | to_json (BasicJsonType &j, typename BasicJsonType::array_t &&arr) |
template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value, int > = 0> | |
void | to_json (BasicJsonType &j, const CompatibleObjectType &obj) |
template<typename BasicJsonType > | |
void | to_json (BasicJsonType &j, typename BasicJsonType::object_t &&obj) |
template<typename BasicJsonType , typename T , std::size_t N, enable_if_t< not std::is_constructible< typename BasicJsonType::string_t, T(&)[N]>::value, int > = 0> | |
void | to_json (BasicJsonType &j, T(&arr)[N]) |
template<typename BasicJsonType , typename... Args> | |
void | to_json (BasicJsonType &j, const std::pair< Args... > &p) |
template<typename BasicJsonType , typename Tuple , std::size_t... Idx> | |
void | to_json_tuple_impl (BasicJsonType &j, const Tuple &t, index_sequence< Idx... >) |
template<typename BasicJsonType , typename... Args> | |
void | to_json (BasicJsonType &j, const std::tuple< Args... > &t) |
NLOHMANN_JSON_HAS_HELPER (mapped_type) | |
NLOHMANN_JSON_HAS_HELPER (key_type) | |
NLOHMANN_JSON_HAS_HELPER (value_type) | |
NLOHMANN_JSON_HAS_HELPER (iterator) | |
bool | operator< (const value_t lhs, const value_t rhs) noexcept |
comparison operator for JSON types More... | |
detail namespace with internal helper functions
This namespace collects functions that should not be exposed, implementations of some basic_json methods, and meta-programming helpers.
|
strong |
the JSON type enumeration
This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions basic_json::is_null(), basic_json::is_object(), basic_json::is_array(), basic_json::is_string(), basic_json::is_boolean(), basic_json::is_number() (with basic_json::is_number_integer(), basic_json::is_number_unsigned(), and basic_json::is_number_float()), basic_json::is_discarded(), basic_json::is_primitive(), and basic_json::is_structured() rely on it.
comparison operator for JSON types
Returns an ordering that is similar to Python:
char* nlohmann::detail::to_chars | ( | char * | first, |
char * | last, | ||
FloatType | value | ||
) |
generates a decimal representation of the floating-point number value in [first, last).
The format of the resulting decimal representation is similar to printf's g format. Returns an iterator pointing past-the-end of the decimal representation.