DAW JSON Link
|
Classes | |
struct | tuple_elements_pack |
Allow tuple like types to be used in json_tuple. More... | |
struct | tuple_elements_pack< daw::fwd_pack< Ts... > > |
struct | tuple_elements_pack< std::tuple< Ts... > > |
Typedefs | |
template<typename T > | |
using | can_single_allocation_string = std::bool_constant< can_single_allocation_string_v< T > > |
template<typename T > | |
using | is_zero_terminated_string = std::bool_constant< is_zero_terminated_string_v< T > > |
Functions | |
DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT (ignore_unknown_members_v, json_data_contract< T >::ignore_unknown_members) | |
DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT (is_exact_class_mapping_v, json_data_contract< T >::exact_class_mapping) | |
Variables | |
template<typename > | |
constexpr bool | can_single_allocation_string_v = false |
Can use the fast, pseudo random string iterators. They are InputIterators with an operator- that allows for O(1) distance calculations as we often know the length but cannot provide random access. For types that only use InputIterator operations and last - first for distance calc. More... | |
template<typename T > | |
constexpr bool | force_aggregate_construction_v |
template<typename... Ts> | |
constexpr bool | is_empty_pack_v = sizeof...( Ts ) == 0 |
template<typename T > | |
constexpr bool | is_pinned_type_v |
Is the type pinned in memory and unable to be copied/moved after construction(e.g. std::mutex). These types require using RVO in order to be used but that can have a penalty as std::current_exceptions( ) must be checked which is quite noticeable on MSVC. More... | |
template<typename T > | |
constexpr bool | is_pointer_like_v |
template<typename > | |
constexpr bool | is_zero_terminated_string_v = false |
template<typename Constructor , typename T , typename ParseState > | |
constexpr bool | should_construct_explicitly_v |
using daw::json::anonymous_namespace{daw_json_traits.h}::can_single_allocation_string = typedef std::bool_constant<can_single_allocation_string_v<T> > |
Definition at line 176 of file daw_json_traits.h.
using daw::json::anonymous_namespace{daw_json_traits.h}::is_zero_terminated_string = typedef std::bool_constant<is_zero_terminated_string_v<T> > |
Definition at line 235 of file daw_json_traits.h.
daw::json::anonymous_namespace{daw_json_traits.h}::DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT | ( | ignore_unknown_members_v | , |
json_data_contract< T >::ignore_unknown_members | |||
) |
daw::json::anonymous_namespace{daw_json_traits.h}::DAW_JSON_MAKE_REQ_TYPE_ALIAS_TRAIT | ( | is_exact_class_mapping_v | , |
json_data_contract< T >::exact_class_mapping | |||
) |
|
inlineconstexpr |
Can use the fast, pseudo random string iterators. They are InputIterators with an operator- that allows for O(1) distance calculations as we often know the length but cannot provide random access. For types that only use InputIterator operations and last - first for distance calc.
Definition at line 169 of file daw_json_traits.h.
|
inlineconstexpr |
Definition at line 100 of file daw_json_traits.h.
|
inlineconstexpr |
Definition at line 160 of file daw_json_traits.h.
|
inlineconstexpr |
Is the type pinned in memory and unable to be copied/moved after construction(e.g. std::mutex). These types require using RVO in order to be used but that can have a penalty as std::current_exceptions( ) must be checked which is quite noticeable on MSVC.
T | type to check |
Definition at line 364 of file daw_json_traits.h.
|
inlineconstexpr |
Definition at line 319 of file daw_json_traits.h.
|
inlineconstexpr |
Definition at line 227 of file daw_json_traits.h.
|
inlineconstexpr |
Definition at line 153 of file daw_json_traits.h.