Welcome to json_bacbone’s documentation!¶
This is a default documentation for read the docs.
-
namespace
json_backbone¶ Typedefs
-
typedef
using json_backbone::identity_t = typedef T
-
typedef
using json_backbone::bounded_identity_t = typedef typename bounded_identity<T>::type
Functions
- template <class T, class... Value>
-
bool
is(variant<Value...> const &value)¶
- template <class T, class... Value>
-
T
get(variant<Value...> &value)¶
- template <class T, class... Value>
-
T const &
get(variant<Value...> const &value)¶
- template <class T, class... Value>
-
T
get(variant<Value...> &&value)¶
- template <class T, class... Value>
-
decltype(auto) json_backbone::raw(variant < Value...> & value)
- template <class T, class... Value>
-
decltype(auto) json_backbone::raw(variant < Value...> const & value)
- template <class T, class... Value>
-
decltype(auto) json_backbone::raw(variant < Value...> && value)
- template <class... Value>
-
bool
operator==(variant<Value...> const &lhs, variant<Value...> const &rhs)¶
- template <class T, class... Value>
-
std::enable_if_t<!std::is_base_of<variant<Value...>, T>::value, bool> json_backbone::operator==(variant < Value...> const & lhs, T const & rhs)
- template <class T, class... Value>
-
std::enable_if_t<!std::is_base_of<variant<Value...>, T>::value, bool> json_backbone::operator==(T const & lhs, variant < Value...> const & rhs)
- template <class... Value>
-
bool
operator!=(variant<Value...> const &lhs, variant<Value...> const &rhs)¶
- template <class T, class... Value>
-
std::enable_if_t<!std::is_base_of<variant<Value...>, T>::value, bool> json_backbone::operator!=(variant < Value...> const & lhs, T const & rhs)
- template <class T, class... Value>
-
std::enable_if_t<!std::is_base_of<variant<Value...>, T>::value, bool> json_backbone::operator!=(T const & lhs, variant < Value...> const & rhs)
- template <class... Value>
-
bool
operator<(variant<Value...> const &lhs, variant<Value...> const &rhs)¶
- template <class Container, class Key = typename Container::key_type>
-
Container
make_object(std::initializer_list<std::pair<Key const, Container>> elements)¶
- template <class Container>
-
Container
make_array(std::initializer_list<Container> elements)¶
- template <class Return, class Visitor, class... Value, class... ExtraArguments>
-
Return
apply_visitor(variant<Value...> &values, Visitor &&visitor, ExtraArguments&&... extras)¶
- template <class Return, class Visitor, class... Value, class... ExtraArguments>
-
Return
apply_visitor(variant<Value...> const &values, Visitor &&visitor, ExtraArguments&&... extras)¶
- template <class Container, class Converter = base_converter>
-
view<Container, Converter>
make_view(Container const &container)¶
- template <class T>
-
struct
is_recursive¶ Inherits from std::integral_constant< bool,!is_complete< T >::value >
- template <class T>
-
struct
is_recursive<recursive_wrapper<T>>¶ Inherits from true_type
- template <class T>
-
struct
is_small_type¶ Inherits from std::integral_constant< bool,(sizeof(T)<=sizeof(T *))>
- template <class T>
-
struct
is_small_type_impl<T, false>¶ Inherits from std::integral_constant< bool, is_small_type< T >::value >
- template <class T>
-
struct
is_small_type_impl<T, true>¶ Inherits from false_type
- template <class T>
-
struct
memory_footprint<T, false>¶ Inherits from std::integral_constant< std::size_t,(is_small_type_impl< T >::value?sizeof(T):sizeof(void *))>
- template <class T>
-
struct
memory_footprint<T, true>¶ Inherits from std::integral_constant< std::size_t, sizeof(void *)>
- template <class T, std::size_t MemSize>
-
struct
store_on_stack¶ Inherits from std::integral_constant< bool,(is_small_type_impl< T >::value &&memory_footprint< T >::value<=MemSize)>
-
struct
bad_variant_access¶ Inherits from logic_error
-
struct
bad_container_object_access¶ Inherits from logic_error
-
struct
bad_container_array_access¶ Inherits from logic_error
- template <template< class...> class ObjectBase, template< class...> class ArrayBase, class Key, class... Value>
-
class
container¶ Inherits from json_backbone::variant< Value..., ArrayBase< container< ObjectBase, ArrayBase, Key, Value...> >, ObjectBase< Key, container< ObjectBase, ArrayBase, Key, Value...> > >
- template <class Return, class... Value, class... ExtraArguments>
-
struct
func_aggregate_visitor<Return, variant<Value...>, ExtraArguments...>¶ Inherits from json_backbone::func_aggregate_visitor_impl< Return, variant< Value...>, std::tuple< std::function< Return(Value &, ExtraArguments...)>...>, ExtraArguments...>
- template <class Return, template< class...> class Object, template< class...> class Array, class Key, class... Value, class... ExtraArguments>
-
struct
func_aggregate_visitor<Return, container<Object, Array, Key, Value...>, ExtraArguments...>¶ Inherits from json_backbone::func_aggregate_visitor< Return, container< Object, Array, Key, Value...>::variant_type, ExtraArguments...>
- template <class Return, class... Value, class... ExtraArguments>
-
struct
const_func_aggregate_visitor<Return, variant<Value...>, ExtraArguments...>¶ Inherits from json_backbone::func_aggregate_visitor_impl< Return, variant< Value...>, std::tuple< std::function< Return(Value const &, ExtraArguments...)>...>, ExtraArguments...>
- template <class Return, template< class...> class Object, template< class...> class Array, class Key, class... Value, class... ExtraArguments>
-
struct
const_func_aggregate_visitor<Return, container<Object, Array, Key, Value...>, ExtraArguments...>¶ Inherits from json_backbone::const_func_aggregate_visitor< Return, container< Object, Array, Key, Value...>::variant_type, ExtraArguments...>
- template <class Return, class... Value, class... ExtraArguments>
-
struct
funcptr_aggregate_visitor<Return, variant<Value...>, ExtraArguments...>¶ Inherits from json_backbone::func_aggregate_visitor_impl< Return, variant< Value...>, std::tuple< identity_t< Return(*)(Value &, ExtraArguments...)>...>, ExtraArguments...>
- template <class Return, template< class...> class Object, template< class...> class Array, class Key, class... Value, class... ExtraArguments>
-
struct
funcptr_aggregate_visitor<Return, container<Object, Array, Key, Value...>, ExtraArguments...>¶ Inherits from json_backbone::funcptr_aggregate_visitor< Return, container< Object, Array, Key, Value...>::variant_type, ExtraArguments...>
- template <class Return, class... Value, class... ExtraArguments>
-
struct
const_funcptr_aggregate_visitor<Return, variant<Value...>, ExtraArguments...>¶ Inherits from json_backbone::func_aggregate_visitor_impl< Return, variant< Value...>, std::tuple< identity_t< Return(*)(Value const &, ExtraArguments...)>...>, ExtraArguments...>
- template <class Return, template< class...> class Object, template< class...> class Array, class Key, class... Value, class... ExtraArguments>
-
struct
const_funcptr_aggregate_visitor<Return, container<Object, Array, Key, Value...>, ExtraArguments...>¶ Inherits from json_backbone::const_funcptr_aggregate_visitor< Return, container< Object, Array, Key, Value...>::variant_type, ExtraArguments...>
-
struct
bad_view_access¶ Inherits from logic_error
-
namespace
arithmetics¶ Functions
- template <class I, std::size_t N>
-
I constexpr
max_value(std::array<I, N> const &values, I current_value = std::numeric_limits< I >::lowest(), std::size_t current_index = 0)¶
- template <class I, std::size_t N>
-
std::size_t constexpr
find_first(std::array<I, N> const &values, I value, std::size_t current_index = 0)¶
- template <class I, std::size_t N>
-
std::size_t constexpr
find_last(std::array<I, N> const &values, I value, std::size_t current_index = 0)¶
- template <class I, std::size_t N>
-
bool constexpr
all_equals(std::array<I, N> const &values, I current_value, std::size_t current_index = 0)¶
-
namespace
helpers¶ Functions
- template <class T, class Impl, std::size_t MemSize>
-
std::enable_if_t<store_on_stack<T, MemSize>::value, void>
deleter_fp(void **data)¶
- template <class T, class Impl, std::size_t MemSize>
-
std::enable_if_t<!store_on_stack<T, MemSize>::value, void> json_backbone::helpers::deleter_fp(void ** data)
- template <class Variant, class T>
-
bool
equals(Variant const &lhs, Variant const &rhs)¶
- template <class Variant, class T>
-
bool
less(Variant const &lhs, Variant const &rhs)¶
-
namespace
type_list_traits¶ - template <std::size_t... Is, class... Types>
-
struct
type_list<std::index_sequence<Is...>, Types...>¶ Inherits from json_backbone::type_list_traits::type_info< Types, Is >
-
namespace
visiting_helpers¶ - template <class Return, template< class...> class Object, template< class...> class Array, class Key, class... Value>
-
struct
applier_maker<Return, container<Object, Array, Key, Value...>>¶ Inherits from json_backbone::visiting_helpers::applier_maker< Return, container< Object, Array, Key, Value...>::variant_type >
-
typedef