WPILibC++
unspecified
|
unnamed namespace with internal helper functions More...
Enumerations | |
enum | value_t : 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 | |
bool | operator< (const value_t lhs, const value_t rhs) noexcept |
comparison operator for JSON types More... | |
WPI_JSON_HAS_HELPER (mapped_type) | |
WPI_JSON_HAS_HELPER (key_type) | |
WPI_JSON_HAS_HELPER (value_type) | |
WPI_JSON_HAS_HELPER (iterator) | |
template<typename BasicJsonType , typename T , enable_if_t< std::is_same< T, bool >::value, int > = 0> | |
void | to_json (BasicJsonType &j, T b) noexcept |
template<typename BasicJsonType , typename CompatibleString , enable_if_t< std::is_constructible< llvm::StringRef, CompatibleString >::value, int > = 0> | |
void | to_json (BasicJsonType &j, const CompatibleString &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< std::uint64_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< std::int64_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 T > | |
void | to_json (BasicJsonType &j, llvm::ArrayRef< T > arr) |
template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value||std::is_same< typename BasicJsonType::array_t, CompatibleArrayType >::value, int > = 0> | |
void | to_json (BasicJsonType &j, const CompatibleArrayType &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 &arr) |
template<typename BasicJsonType , typename T , std::size_t N, enable_if_t<!std::is_constructible< llvm::StringRef, T(&)[N]>::value, int > = 0> | |
void | to_json (BasicJsonType &j, T(&arr)[N]) |
template<typename BasicJsonType , typename CompatibleString , typename T , enable_if_t< std::is_constructible< llvm::StringRef, CompatibleString >::value, int > = 0> | |
void | to_json (BasicJsonType &j, std::pair< CompatibleString, T > const &p) |
template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value &&!std::is_same< ArithmeticType, bool >::value, int > = 0> | |
void | get_arithmetic_value (const BasicJsonType &j, ArithmeticType &val) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, bool &b) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, std::string &s) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, double &val) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, std::uint64_t &val) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, std::int64_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 CompatibleArrayType > | |
void | from_json_array_impl (const BasicJsonType &j, CompatibleArrayType &arr, detail::priority_tag< 0 >) |
template<typename BasicJsonType , typename CompatibleArrayType > | |
auto | from_json_array_impl (const BasicJsonType &j, CompatibleArrayType &arr, detail::priority_tag< 1 >) -> decltype(arr.reserve(std::declval< typename CompatibleArrayType::size_type >()), void()) |
template<typename BasicJsonType , typename CompatibleArrayType , enable_if_t< is_compatible_array_type< BasicJsonType, CompatibleArrayType >::value &&std::is_convertible< BasicJsonType, typename CompatibleArrayType::value_type >::value &&!std::is_same< typename BasicJsonType::array_t, CompatibleArrayType >::value, int > = 0> | |
void | from_json (const BasicJsonType &j, CompatibleArrayType &arr) |
template<typename BasicJsonType > | |
void | from_json (const BasicJsonType &j, typename BasicJsonType::object_t &obj) |
template<typename BasicJsonType , typename CompatibleObjectType , enable_if_t< is_compatible_object_type< BasicJsonType, CompatibleObjectType >::value &&!std::is_same< typename BasicJsonType::object_t, 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 &&!std::is_same< ArithmeticType, std::uint64_t >::value &&!std::is_same< ArithmeticType, std::int64_t >::value &&!std::is_same< ArithmeticType, double >::value &&!std::is_same< ArithmeticType, bool >::value, int > = 0> | |
void | from_json (const BasicJsonType &j, ArithmeticType &val) |
template<typename BasicJsonType , typename CompatibleString , typename T , enable_if_t< std::is_constructible< llvm::StringRef, CompatibleString >::value, int > = 0> | |
void | from_json (const BasicJsonType &j, std::pair< CompatibleString, T > &p) |
unnamed namespace with internal helper functions
This namespace collects some functions that could not be defined inside the json class.
|
strong |
the JSON type enumeration
This enumeration collects the different JSON types. It is internally used to distinguish the stored values, and the functions json::is_null(), json::is_object(), json::is_array(), json::is_string(), json::is_boolean(), json::is_number() (with json::is_number_integer(), json::is_number_unsigned(), and json::is_number_float()), json::is_discarded(), json::is_primitive(), and json::is_structured() rely on it.