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 >

Indices and tables