Welcome to C++ project template’s documentation!

This is a default documentation for read the docs.

namespace named_types

Typedefs

using named_types::array_to_tuple_t = typedef typename array_to_tuple<T>::type
using named_types::basic_charset = typedef integral_string_format<Storage, char, '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','_','-'>
using named_types::basic_lowcase_charset = typedef integral_string_format<Storage, char, '0','1','2','3','4','5','6','7','8','9','a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','_','-'>
using named_types::ascii_charset = typedef integral_string_format<Storage, char ,'x20','x21','x22','x23','x24','x25','x26','x27','x28','x29','x2a','x2b','x2c','x2d','x2e','x2f' ,'x30','x31','x32','x33','x34','x35','x36','x37','x38','x39','x3a','x3b','x3c','x3d','x3e','x3f' ,'x40','x41','x42','x43','x44','x45','x46','x47','x48','x49','x4a','x4b','x4c','x4d','x4e','x4f' ,'x50','x51','x52','x53','x54','x55','x56','x57','x58','x59','x5a','x5b','x5c','x5d','x5e','x5f' ,'x60','x61','x62','x63','x64','x65','x66','x67','x68','x69','x6a','x6b','x6c','x6d','x6e','x6f' ,'x70','x71','x72','x73','x74','x75','x76','x77','x78','x79','x7a','x7b','x7c','x7d','x7e'>
using named_types::basic_charset_format = typedef basic_charset<uint64_t>
using named_types::basic_lowcase_charset_format = typedef basic_lowcase_charset<uint64_t>
using named_types::ascii_charset_format = typedef ascii_charset<uint64_t>
using named_types::concatenate_t = typedef typename concatenate<T...>::type
using named_types::join_t = typedef typename join<CharT, Glue, T...>::type
using named_types::repeat_string_t = typedef typename repeat_string<Size, StringLiteral>::type
using named_types::join_repeat_string_t = typedef typename join_repeat_string<Size, CharT, Glue, StringLiteral>::type
using named_types::__ntag_notation_t = typedef typename __ntag_notation<T>::type
using named_types::constexpr_type_name_t = typedef typename constexpr_type_name<T>::type
using named_types::__ntuple_tag_spec_t = typedef typename __ntuple_tag_spec<T>::type
using named_types::__ntuple_tag_elem_t = typedef typename __ntuple_tag_elem<T>::type
using named_types::__ntuple_tag_notation_t = typedef typename __ntuple_tag_notation<T>::type
using named_types::const_rt_view = typedef const_rt_view_impl<base_const_rt_view, T>
using named_types::rt_view = typedef rt_view_impl<base_rt_view, T>

Functions

template <class T>
constexpr auto forward_as_reference_tuple(T const &value)
template <class… T, std::size_t… Indexes>
constexpr auto forward_as_reference_tuple(std::tuple<T...> const &value, std::index_sequence<Indexes...>)
template <class… T>
constexpr auto forward_as_reference_tuple(std::tuple<T...> const &value)
template <class T, std::size_t N, std::size_t… Indexes>
constexpr auto forward_as_reference_tuple(std::array<T, N> const &value, std::index_sequence<Indexes...>)
template <class T, std::size_t N, std::size_t… Indexes>
constexpr auto forward_as_reference_tuple(std::array<T, N> const &value)
template <class Char>
unsigned long long constexpr const_size(Char const *input)
template <class Char>
unsigned long long constexpr const_hash(Char const *input)
template <class Char, size_t Size>
unsigned long long constexpr array_const_hash(Char const (&input)[Size])
template <typename AttributeHolder>
decltype(auto) named_types::__attribute_holder_get(AttributeHolder && attribute_holder)
template <class Tag, class Tagged>
decltype(auto) named_types::get(Tagged && input)
template <typename… Types>
decltype(auto) constexpr named_types::make_named_tuple(Types &&... args)
template <class Func, class… Types>
constexpr void for_each(Func &&f, named_tuple<Types...> const &in)
template <class Func, class… Types>
constexpr auto apply(Func &&f, named_tuple<Types...> const &in)
template <class T>
decltype(auto) named_types::make_rt_view(T const & arg)
template <class T>
decltype(auto) named_types::make_rt_view(T & arg)
struct base_const_rt_view

Subclassed by named_types::base_rt_view

struct base_rt_view

Inherits from named_types::base_const_rt_view

template <class Parent, class… Types>
template<>
struct const_rt_view_impl<Parent, named_tuple<Types...>>

Inherits from Parent

template <class Storage, class Char, Char… charset>
class integral_string_format
#include <integral_string_literal.hpp>

This class represents

template <class T>
struct is_array

Inherits from std::integral_constant< bool, false >

template <class T, std::size_t N>
template<>
struct is_array<std::array<T, N>>

Inherits from std::integral_constant< bool, true >

template <class T>
struct is_associative_container

Inherits from std::integral_constant< bool, false >

template <class T, class Allocator>
template<>
struct is_associative_container<std::map<T, Allocator>>

Inherits from std::integral_constant< bool, true >

template <class T, class Allocator>
template<>
struct is_associative_container<std::unordered_map<T, Allocator>>

Inherits from std::integral_constant< bool, true >

template <class T>
struct is_char

Inherits from std::integral_constant< bool, std::is_same< char, std::remove_cv_t< T > >::value||std::is_same< wchar_t, std::remove_cv_t< T > >::value||std::is_same< char16_t, std::remove_cv_t< T > >::value||std::is_same< char32_t, std::remove_cv< T > >::value >

template <class Source, class Target>
struct is_convertible

Inherits from std::integral_constant< bool,(std::is_arithmetic< Source >::value &&is_std_basic_string< Target >::value)||(std::is_arithmetic< Source >::value &&std::is_arithmetic< Target >::value)||(is_std_basic_string< Source >::value &&std::is_arithmetic< Target >::value)||(is_raw_string< Source >::value &&std::is_arithmetic< Target >::value)||std::is_assignable< Target, Source >::value >

template <class T>
struct is_named_tuple

Inherits from std::integral_constant< bool, false >

template <class… Tags>
template<>
struct is_named_tuple<named_tuple<Tags...>>

Inherits from std::integral_constant< bool, true >

template <class T>
struct is_nullable

Inherits from std::integral_constant< bool, std::is_pointer< T >::value||std::is_assignable< T, std::nullptr_t >::value >

template <class T>
struct is_raw_string

Inherits from std::integral_constant< bool, false >

template <class CharT>
template<>
struct is_raw_string<CharT *>

Inherits from std::integral_constant< bool, is_char< CharT >::value >

template <class CharT, size_t Length>
template<>
struct is_raw_string<CharT[Length]>

Inherits from std::integral_constant< bool, is_char< CharT >::value >

template <class T>
struct is_sequence_container

Inherits from std::integral_constant< bool, false >

template <class T, class Allocator>
template<>
struct is_sequence_container<std::list<T, Allocator>>

Inherits from std::integral_constant< bool, true >

template <class T, class Allocator>
template<>
struct is_sequence_container<std::vector<T, Allocator>>

Inherits from std::integral_constant< bool, true >

template <class Target, class Source>
struct is_static_cast_assignable

Inherits from std::integral_constant< bool, std::is_arithmetic< Target >::value &&std::is_arithmetic< Source >::value &&!std::is_assignable< Target, Source >::value >

template <class T>
struct is_std_basic_string

Inherits from std::integral_constant< bool, false >

template <class CharT, class Traits, class Allocator>
template<>
struct is_std_basic_string<std::basic_string<CharT, Traits, Allocator>>

Inherits from std::integral_constant< bool, true >

template <class T>
struct is_sub_element

Inherits from std::integral_constant< bool, is_named_tuple< T >::value||is_sequence_container< T >::value||is_associative_container< T >::value >

template <class T>
struct is_sub_object

Inherits from std::integral_constant< bool, is_named_tuple< T >::value||is_associative_container< T >::value >

template <class T>
struct is_tuple

Inherits from std::integral_constant< bool, false >

template <class… T>
template<>
struct is_tuple<named_tuple<T...>>

Inherits from std::integral_constant< bool, true >

template <class… T>
template<>
struct is_tuple<std::tuple<T...>>

Inherits from std::integral_constant< bool, true >

template <class T>
struct is_unique_ptr

Inherits from std::integral_constant< bool, false >

template <class T>
template<>
struct is_unique_ptr<std::unique_ptr<T>>

Inherits from std::integral_constant< bool, true >

template <class Tag>
struct named_tag

Inherits from std::tag::basic_tag

template <class… Types>
struct named_tuple

Inherits from std::tagged_tuple< __ntuple_tag_notation_t< Types >… >

template <class… Types>
template<>
struct rt_view_impl<base_rt_view, named_tuple<Types...>>

Inherits from named_types::const_rt_view_impl< base_rt_view, named_tuple< Types… > >

template <class Source, class Tuple, size_t Index>
struct tuple_member_assignable

Inherits from std::integral_constant< bool, std::is_assignable< std::tuple_element_t< Index, Tuple >, Source >::value >

template <class Source, class Tuple, size_t Index>
struct tuple_member_convertible

Inherits from std::integral_constant< bool, std::is_convertible< Source, std::tuple_element_t< Index, Tuple > >::value &&!std::is_assignable< std::tuple_element_t< Index, Tuple >, Source >::value >

template <class Source, class Tuple, size_t Index>
struct tuple_member_not_assignable

Inherits from std::integral_constant< bool,!tuple_member_assignable< Source, Tuple, Index >::value &&!tuple_member_convertible< Source, Tuple, Index >::value &&!tuple_member_static_cast_assignable< Source, Tuple, Index >::value >

template <class Source, class Tuple, size_t Index>
struct tuple_member_static_cast_assignable

Inherits from std::integral_constant< bool, is_static_cast_assignable< std::tuple_element_t< Index, Tuple >, Source >::value >

namespace arithmetic

Functions

template <class T>
constexpr T pow(T value, size_t power)
template <class T>
constexpr size_t max_pow_holdable(T base, T value)
namespace extensions
namespace __factory_impl

Functions

template <class T, class Base, class… Args>
std::function<Base *(Args...)> make_builder()
namespace parsing

Functions

template <class To, class From>
std::enable_if_t<std::is_arithmetic<From>::value && is_std_basic_string<To>::value, To> lexical_cast(From const &value)
template <class To, class From>
std::enable_if_t<std::is_arithmetic<From>::value && std::is_arithmetic<To>::value, To> lexical_cast(From const &value)
template <class To, class From>
std::enable_if_t<is_std_basic_string<From>::value && std::is_arithmetic<To>::value, To> lexical_cast(From const &value)
template <class To, class From>
std::enable_if_t<is_raw_string<From>::value && std::is_arithmetic<To>::value, To> lexical_cast(From const &value)
template <class Source, class Tuple, size_t Index>
std::enable_if_t<tuple_member_assignable<Source, Tuple, Index>::value, std::function<void(Tuple&, Source&&)>> make_setter()
template <class Source, class Tuple, size_t Index>
std::enable_if_t<tuple_member_static_cast_assignable<Source, Tuple, Index>::value, std::function<void(Tuple&, Source&&)>> make_setter()
template <class Source, class Tuple, size_t Index>
std::enable_if_t<tuple_member_not_assignable<Source, Tuple, Index>::value, std::function<void(Tuple&, Source&&)>> make_setter()
template <class KeyCharT, class ValueCharT, class SizeType, class Tuple, size_t Index>
std::enable_if_t<is_sub_object<std::tuple_element_t<Index, Tuple>>::value, std::function<value_setter_interface<KeyCharT, ValueCharT, SizeType> *(Tuple&)>> make_creator()
template <class KeyCharT, class ValueCharT, class SizeType, class Tuple, size_t Index>
std::enable_if_t<!is_sub_object<std::tuple_element_t<Index, Tuple> >::value, std::function<value_setter_interface<KeyCharT, ValueCharT, SizeType> *(Tuple&)>> make_creator()
template <class KeyCharT, class ValueCharT, class SizeType, class Tuple, size_t Index>
std::enable_if_t<is_sequence_container<std::tuple_element_t<Index, Tuple>>::value, std::function<sequence_pusher_interface<KeyCharT, ValueCharT, SizeType> *(Tuple&)>> make_sequence_creator()
template <class KeyCharT, class ValueCharT, class SizeType, class Tuple, size_t Index>
std::enable_if_t<!is_sequence_container<std::tuple_element_t<Index, Tuple> >::value, std::function<sequence_pusher_interface<KeyCharT, ValueCharT, SizeType> *(Tuple&)>> make_sequence_creator()
template <class KeyCharT, class ValueCharT, class SizeType, class Container>
class sequence_pusher

Inherits from named_types::extensions::parsing::sequence_pusher_interface< KeyCharT, ValueCharT, SizeType >

template <class KeyCharT, class ValueCharT, class SizeType>
struct sequence_pusher_interface

Subclassed by named_types::extensions::parsing::sequence_pusher< KeyCharT, ValueCharT, SizeType, Container >

template <class KeyCharT, class ValueCharT, class SizeType, class AssociativeContainer>
class value_setter

Inherits from named_types::extensions::parsing::value_setter_interface< KeyCharT, ValueCharT, SizeType >

template <class KeyCharT, class ValueCharT, class SizeType, class… Tags>
template<>
class value_setter<KeyCharT, ValueCharT, SizeType, named_tuple<Tags...>>

Inherits from named_types::extensions::parsing::value_setter_interface< KeyCharT, ValueCharT, SizeType >

template <class KeyCharT, class ValueCharT, class SizeType>
struct value_setter_interface

Subclassed by named_types::extensions::parsing::value_setter< KeyCharT, ValueCharT, SizeType, AssociativeContainer >, named_types::extensions::parsing::value_setter< KeyCharT, ValueCharT, SizeType, named_tuple< Tags… > >

namespace rapidjson

Functions

template <class RootType>
reader_handler<RootType, rapidjson::UTF8<>> make_reader_handler(RootType &root)
template <class Encoding, class RootType>
reader_handler<RootType, Encoding> make_reader_handler(RootType &root)
template <class RootType, class Encoding>
class reader_handler

Inherits from rapidjson::BaseReaderHandler< Encoding, reader_handler< RootType, Encoding > >

Indices and tables