|
WPILibC++
2020.3.2
|
detail namespace with internal helper functions More...
Typedefs | |
| 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 RangeT > | |
| using | IterOfRange = decltype(std::begin(std::declval< RangeT & >())) |
| template<typename RangeT > | |
| using | ValueOfRange = typename std::remove_reference< decltype(*std::begin(std::declval< RangeT & >()))>::type |
| template<typename ZipType , typename... Iters> | |
| using | zip_traits = iterator_facade_base< ZipType, typename std::common_type< std::bidirectional_iterator_tag, typename std::iterator_traits< Iters >::iterator_category... >::type, typename ZipTupleType< Iters... >::type, typename std::iterator_traits< typename std::tuple_element< 0, std::tuple< Iters... > >::type >::difference_type, typename ZipTupleType< Iters... >::type *, typename ZipTupleType< Iters... >::type > |
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 | |
| 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... | |
| template<typename BasicJsonType , typename ArithmeticType , enable_if_t< std::is_arithmetic< ArithmeticType >::value and not 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, uint64_t &val) |
| template<typename BasicJsonType > | |
| void | from_json (const BasicJsonType &j, 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, 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 not std::is_same< typename BasicJsonType::array_t, CompatibleArrayType >::value and std::is_constructible< BasicJsonType, typename CompatibleArrayType::value_type >::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 and not 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 and not std::is_same< ArithmeticType, uint64_t >::value and not std::is_same< ArithmeticType, int64_t >::value and not std::is_same< ArithmeticType, double >::value and not std::is_same< ArithmeticType, bool >::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, std::index_sequence< Idx... >) |
| template<typename BasicJsonType , typename... Args> | |
| void | from_json (const BasicJsonType &j, std::tuple< Args... > &t) |
| 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< StringRef, CompatibleString >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, const CompatibleString &s) |
| template<typename BasicJsonType , typename T , enable_if_t< std::is_same< std::string, T >::value, int > = 0> | |
| void | to_json (BasicJsonType &j, 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< 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< 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 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 > | |
| 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< StringRef, 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, std::index_sequence< Idx... >) |
| template<typename BasicJsonType , typename... Args> | |
| void | to_json (BasicJsonType &j, const std::tuple< Args... > &t) |
| template<typename N > | |
| bool | to_float (const Twine &T, N &Num, N(*StrTo)(const char *, char **)) |
| template<typename IteratorT > | |
| std::string | join_impl (IteratorT Begin, IteratorT End, StringRef Separator, std::input_iterator_tag) |
| template<typename IteratorT > | |
| std::string | join_impl (IteratorT Begin, IteratorT End, StringRef Separator, std::forward_iterator_tag) |
| template<typename Sep > | |
| void | join_items_impl (std::string &Result, Sep Separator) |
| template<typename Sep , typename Arg > | |
| void | join_items_impl (std::string &Result, Sep Separator, const Arg &Item) |
| template<typename Sep , typename Arg1 , typename... Args> | |
| void | join_items_impl (std::string &Result, Sep Separator, const Arg1 &A1, Args &&... Items) |
| size_t | join_one_item_size (char C) |
| size_t | join_one_item_size (const char *S) |
| template<typename T > | |
| size_t | join_one_item_size (const T &Str) |
| size_t | join_items_size () |
| template<typename A1 > | |
| size_t | join_items_size (const A1 &A) |
| template<typename A1 , typename... Args> | |
| size_t | join_items_size (const A1 &A, Args &&... Items) |
| template<typename R , typename... T> | |
| void | RunWorkerThreadRequest (WorkerThreadThread< R, T... > &thr, WorkerThreadRequest< R, T... > &req) |
| template<typename... T> | |
| void | RunWorkerThreadRequest (WorkerThreadThread< void, T... > &thr, WorkerThreadRequest< void, T... > &req) |
| template<typename Iter > | |
| static Iter | next_or_end (const Iter &I, const Iter &End) |
| template<typename Iter > | |
| static auto | deref_or_none (const Iter &I, const Iter &End) -> std::optional< typename std::remove_const< typename std::remove_reference< decltype(*I)>::type >::type > |
| void | swap (SafeThreadOwnerBase &lhs, SafeThreadOwnerBase &rhs) noexcept |
detail namespace with internal helper functions
This namespace collects functions that should not be exposed, implementations of some 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 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.
comparison operator for JSON types
Returns an ordering that is similar to Python: