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::concepts::is_basic_string< std::basic_string< C, T, A > > | |
Ctempla::concepts::is_basic_string< T > | Helper struct to detect if a type is std::basic_string |
Ctempla::FlagEnum< ENUM > | A utility wrapper for using scoped or unscoped enum types as bit flags |
CFns... | |
Ctempla::internal::visitor< Fns > | Helper visitor struct inheriting from multiple function objects |
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< F & > | Lvalue reference specialization |
Ctempla::traits::function_traits< F && > | Rvalue reference specialization |
Ctempla::traits::function_traits< R(Args...)> | Specialization for regular function types |
Ctempla::traits::function_traits< R(*)(Args...)> | Specialization for function pointer types |
Ctempla::traits::function_traits< R(C &)> | |
Ctempla::traits::function_traits< R(C::*)> | Specialization for pointer-to-member types |
Ctempla::traits::function_traits< R(C &, Args...)> | |
Ctempla::traits::function_traits< R(C::*)(Args...) const > | Specialization for const member function pointers |
Ctempla::traits::function_traits< R(C::*)(Args...)> | Specialization for member function pointers |
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::concepts::is_basic_string< std::basic_string< C, T, A > > | |
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::convert::convert_to_tuple< From< Ts... > > | Converts a template instantiation of types into a std::tuple of those types |
Ctempla::convert::convert_to_variant< From< Ts... > > | Converts a template instantiation of types into a std::variant of those types |
Ctempla::convert::convert_to_tuple< Ts > | Converts a pack of types into a std::tuple of those types |
Ctempla::convert::convert_to_tuple< From< Ts... > > | Converts a template instantiation of types into a std::tuple of those types |
Ctempla::convert::convert_to_variant< Ts > | Converts a pack of types into a std::variant of those types |
Ctempla::convert::convert_to_variant< From< Ts... > > | Converts a template instantiation of types into a std::variant of those types |
Ctempla::internal::type_list< Ts > | A compile-time list of types |
Ctempla::type_list_prepend< typename type_list_pop_back< Mid, Tail... >::type, Head > | |
Ctempla::internal::type_list< Elem, Inits... > | |
Ctempla::type_list_prepend< Initial< Inits... >, Elem > | Prepend a single type to a type list |
Ctempla::internal::type_list< Head > | |
Ctempla::type_list_pop_back< Head, Tail > | Specialization for exactly two types: last type is popped |
Ctempla::internal::type_list< Initial, Ts... > | |
Ctempla::type_list_append< Initial< Inits... >, Appender< Apps... > > | Specialization to append one type list to another |
Ctempla::type_list_append< Initial< Inits... >, Elem > | Append a single type to a type list |
Ctempla::type_list_append< Initial, Ts > | Appends types or type lists to an existing type list |
Ctempla::internal::type_list< Inits..., Apps... > | |
Ctempla::type_list_append< Initial< Inits... >, Appender< Apps... > > | Specialization to append one type list to another |
Ctempla::internal::type_list< Inits..., Elem > | |
Ctempla::type_list_append< Initial< Inits... >, Elem > | Append a single type to a type list |
Ctempla::internal::type_list< Preps..., Initial > | |
Ctempla::type_list_prepend< Initial< Inits... >, Elem > | Prepend a single type to a type list |
Ctempla::type_list_prepend< Initial< Inits... >, Prepender< Preps... > > | Specialization to prepend one type list to another |
Ctempla::type_list_prepend< Initial, Preps > | Prepends types or type lists to an existing type list |
Ctempla::internal::type_list< Preps..., Inits... > | |
Ctempla::type_list_prepend< Initial< Inits... >, Prepender< Preps... > > | Specialization to prepend one type list to another |
Ctempla::internal::type_list< T > | |
Ctempla::type_list_flatten< T > | If the input is a non-type_list type, return it as a single-element type_list |
Ctempla::internal::type_list< T< Ts... > > | Specialization for wrapping a template class parameter pack into a type_list |
Ctempla::internal::type_list< Ts... > | |
Ctempla::type_list_pop_front< T, Ts... > | Remove the first type from a pack of types |
Ctempla::type_list_pop_front< Tlist< U, Ts... > > | Remove the first type from a templated type list |
Ctempla::internal::type_list< Ts..., U, T > | |
Ctempla::type_list_reverse< T, U, Ts... > | Reverse a pack of types |
Ctempla::type_list_reverse< Tlist< T, U, Ts... > > | Reverse types in a templated type list |
Ctempla::internal::type_list<> | |
Ctempla::type_list_flatten<> | Base case: flattening an empty list yields an empty type_list |
Ctempla::type_list_unique<> | |
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_flatten< internal::type_list< Ts... > > | If the input is a type_list, recurse into its elements |
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::algorithms::reverse< elems > | Reverses a compile-time pack of constant values |
Ctempla::internal::uniform_element_identity< Es... > | |
Ctempla::algorithms::max< Es > | Computes the maximum value among a pack of compile-time constants |
Ctempla::algorithms::min< Es > | Computes the minimum value among a pack of compile-time constants |
Ctempla::algorithms::unique< Es > | Computes a compile-time unique sequence from a pack of values |
Ctempla::algorithms::unique_from< a > | Computes a compile-time unique sequence from a container expression |