Templa 0.0.1-alpha
C++ Metaprogramming Utilities
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12]
 Ctempla::traits::function_traits< F >::argument< N >Retrieves the type of the N-th argument
 Ctempla::traits::function_traits< R(Args...)>::argument< N >Retrieves the type of the N-th argument
 Ctempla::internal::hidden::element_pack< T, elems >A template pack holding a list of values of type T
 Cstd::false_type
 Ctempla::FlagEnum< ENUM >A utility wrapper for using scoped or unscoped enum types as bit flags
 CFns...
 Ctempla::internal::forward_elements< T, N, elems >Forward a list of elements as a std::array
 Ctempla::internal::forward_elements_from< a >Extract elements from a container-like template parameter as a new container
 Ctempla::traits::function_traits< F >Primary template for function traits. Specialization used to extract traits from functor types (e.g., lambdas)
 Ctempla::traits::function_traits< R(Args...)>Specialization for regular function types
 Ctempla::traits::function_traits< R(C &)>
 Ctempla::traits::function_traits< R(C &, Args...)>
 Ctempla::type_info::ctti::hash_t< C >Generates a unique type identifier for a type C at compile time
 Ctempla::index_at_type< T, List >Get the index of a type in a type list
 Ctempla::index_at_type< T, U< List... > >Get the index of a type in a templated type list
 Ctempla::algorithms::join< Strs >Compile-time string concatenation of multiple std::string_view references
 Ctempla::algorithms::max_from< e >Computes the maximum value from a container-like object at compile time
 Ctempla::algorithms::min_from< e >Computes the minimum value from a container-like object at compile time
 Ctempla::type_info::name_of< T >Primary template to get the string name of a type
 Ctempla::type_info::name_of< char >Specialization for char
 Ctempla::type_info::name_of< float >Specialization for float
 Ctempla::type_info::name_of< int >Specialization for int
 Ctempla::type_info::name_of< long >Specialization for long
 Ctempla::type_info::name_of< std::uint16_t >Specialization for std::uint16_t
 Ctempla::type_info::name_of< std::uint32_t >Specialization for std::uint32_t
 Ctempla::type_info::name_of< std::uint64_t >Specialization for std::uint64_t
 Ctempla::type_info::name_of< std::uint8_t >Specialization for std::uint8_t
 Ctempla::type_info::name_of< void >Specialization for void
 Ctempla::offset_index_sequence< Offset, Seq >Utility to create an offset std::index_sequence
 Ctempla::offset_index_sequence< Offset, std::index_sequence< Is... > >Specialization for generating an offset index sequence
 Ctempla::internal::hidden::pack< Ts >A template pack to hold a variadic list of types
 Ctempla::algorithms::reverse_from< a >Reverses the elements of a constexpr container at compile time
 Ctempla::traits::strip< T >Recursively strips const, volatile qualifiers and pointers from a type
 Ctempla::traits::strip< const T * >
 Ctempla::traits::strip< const T >
 Ctempla::traits::strip< const volatile T * >
 Ctempla::traits::strip< const volatile T >
 Ctempla::traits::strip< T * >
 Ctempla::traits::strip< volatile T * >
 Ctempla::traits::strip< volatile T >
 Cstd::true_type
 Ctempla::type_at_index< idx, Ts >Get the type at a given index in a parameter pack
 Ctempla::type_at_index< idx, T< Ts... > >Get the type at a given index in a templated type list
 Ctempla::type_info::type_descriptor< T >Provides a human-readable string description of the type T, including qualifiers and pointers
 Cstd::type_identity
 Ctempla::internal::type_list< Ts >A compile-time list of types
 Ctempla::internal::type_list< Elem, Inits... >
 Ctempla::internal::type_list< Head >
 Ctempla::internal::type_list< Initial, Ts... >
 Ctempla::internal::type_list< Inits..., Apps... >
 Ctempla::internal::type_list< Inits..., Elem >
 Ctempla::internal::type_list< Preps..., Initial >
 Ctempla::internal::type_list< Preps..., Inits... >
 Ctempla::internal::type_list< T >
 Ctempla::internal::type_list< T< Ts... > >Specialization for wrapping a template class parameter pack into a type_list
 Ctempla::internal::type_list< Ts... >
 Ctempla::internal::type_list< Ts..., U, T >
 Ctempla::internal::type_list<>
 Ctempla::type_list_contains< T, Ts >Check if a type list contains a given type
 Ctempla::type_list_contains< T, U< Ts... > >Check if a templated type list contains a given type
 Ctempla::type_list_flatten< Ts >Recursively flattens nested type_lists into a single flat type_list
 Ctempla::type_list_flatten< T, Rest... >Recursive case: flatten head and tail separately and append results
 Ctempla::type_list_flatten< Ts... >
 Ctempla::type_list_pop_back< Ts >Remove the last type from a type list
 Ctempla::type_list_pop_back< Head, Mid, Tail... >Remove the last type from a longer pack recursively
 Ctempla::type_list_pop_back< Tlist< Ts... > >Remove the last type from a templated type list
 Ctempla::type_list_pop_front< T >Remove the first type from a type list
 Ctempla::type_list_reverse< T >Reverse the order of types in a type list
 Ctempla::type_list_split< T, F, S >Splits a type list into two sublists using index sequences
 Ctempla::type_list_split< T< Args... >, std::index_sequence< Is... >, std::index_sequence< Js... > >Specialization of type_list_split for variadic type lists
 Ctempla::type_list_split_half< Ts >Splits a type list into two halves
 Ctempla::type_list_split_half< T< Args... > >Specialization to split T<Args...> into two halves
 Ctempla::type_list_unique< Ts >Removes duplicate types from a parameter pack
 Ctempla::type_list_unique< T, Ts... >
 Ctempla::internal::uniform_element_identity< elems >Uniform element identity helper for a list of values
 Ctempla::internal::uniform_element_identity< elems... >
 Ctempla::internal::uniform_element_identity< Es... >
 Ctempla::algorithms::unique_from< a >Computes a compile-time unique sequence from a container expression