Templa 0.0.1-alpha
C++ Metaprogramming Utilities
Loading...
Searching...
No Matches
Class List
Here are the classes, structs, unions and interfaces with brief descriptions:
[detail level 1234]
 Ntempla
 Nalgorithms
 CjoinCompile-time string concatenation of multiple std::string_view references
 CmaxComputes the maximum value among a pack of compile-time constants
 Cmax_fromComputes the maximum value from a container-like object at compile time
 CminComputes the minimum value among a pack of compile-time constants
 Cmin_fromComputes the minimum value from a container-like object at compile time
 CreverseReverses a compile-time pack of constant values
 Creverse_fromReverses the elements of a constexpr container at compile time
 CuniqueComputes a compile-time unique sequence from a pack of values
 Cunique_fromComputes a compile-time unique sequence from a container expression
 Nconcepts
 Cis_basic_stringHelper struct to detect if a type is std::basic_string
 Cis_basic_string< std::basic_string< C, T, A > >
 Nconvert
 Cconvert_to_tupleConverts a pack of types into a std::tuple of those types
 Cconvert_to_tuple< From< Ts... > >Converts a template instantiation of types into a std::tuple of those types
 Cconvert_to_variantConverts a pack of types into a std::variant of those types
 Cconvert_to_variant< From< Ts... > >Converts a template instantiation of types into a std::variant of those types
 Ninternal
 NhiddenInternal utilities and implementation details
 Celement_packA template pack holding a list of values of type T
 CpackA template pack to hold a variadic list of types
 Cforward_elementsForward a list of elements as a std::array
 Cforward_elements_fromExtract elements from a container-like template parameter as a new container
 Ctype_listA compile-time list of types
 Ctype_list< T< Ts... > >Specialization for wrapping a template class parameter pack into a type_list
 Cuniform_element_identityUniform element identity helper for a list of values
 CvisitorHelper visitor struct inheriting from multiple function objects
 Ntraits
 Cfunction_traitsPrimary template for function traits. Specialization used to extract traits from functor types (e.g., lambdas)
 CargumentRetrieves the type of the N-th argument
 Cfunction_traits< F & >Lvalue reference specialization
 Cfunction_traits< F && >Rvalue reference specialization
 Cfunction_traits< R(*)(Args...)>Specialization for function pointer types
 Cfunction_traits< R(Args...)>Specialization for regular function types
 CargumentRetrieves the type of the N-th argument
 Cfunction_traits< R(C::*)(Args...) const >Specialization for const member function pointers
 Cfunction_traits< R(C::*)(Args...)>Specialization for member function pointers
 Cfunction_traits< R(C::*)>Specialization for pointer-to-member types
 CstripRecursively strips const, volatile qualifiers and pointers from a type
 Cstrip< const T * >
 Cstrip< const T >
 Cstrip< const volatile T * >
 Cstrip< const volatile T >
 Cstrip< T * >
 Cstrip< volatile T * >
 Cstrip< volatile T >
 Ntype_info
 Nctti
 Chash_tGenerates a unique type identifier for a type C at compile time
 Cname_ofPrimary template to get the string name of a type
 Cname_of< char >Specialization for char
 Cname_of< float >Specialization for float
 Cname_of< int >Specialization for int
 Cname_of< long >Specialization for long
 Cname_of< std::uint16_t >Specialization for std::uint16_t
 Cname_of< std::uint32_t >Specialization for std::uint32_t
 Cname_of< std::uint64_t >Specialization for std::uint64_t
 Cname_of< std::uint8_t >Specialization for std::uint8_t
 Cname_of< void >Specialization for void
 Ctype_descriptorProvides a human-readable string description of the type T, including qualifiers and pointers
 CFlagEnumA utility wrapper for using scoped or unscoped enum types as bit flags
 Cindex_at_typeGet the index of a type in a type list
 Cindex_at_type< T, U< List... > >Get the index of a type in a templated type list
 Coffset_index_sequenceUtility to create an offset std::index_sequence
 Coffset_index_sequence< Offset, std::index_sequence< Is... > >Specialization for generating an offset index sequence
 Ctype_at_indexGet the type at a given index in a parameter pack
 Ctype_at_index< idx, T< Ts... > >Get the type at a given index in a templated type list
 Ctype_list_appendAppends types or type lists to an existing type list
 Ctype_list_append< Initial< Inits... >, Appender< Apps... > >Specialization to append one type list to another
 Ctype_list_append< Initial< Inits... >, Elem >Append a single type to a type list
 Ctype_list_containsCheck if a type list contains a given type
 Ctype_list_contains< T, U< Ts... > >Check if a templated type list contains a given type
 Ctype_list_flattenRecursively flattens nested type_lists into a single flat type_list
 Ctype_list_flatten< internal::type_list< Ts... > >If the input is a type_list, recurse into its elements
 Ctype_list_flatten< T >If the input is a non-type_list type, return it as a single-element type_list
 Ctype_list_flatten< T, Rest... >Recursive case: flatten head and tail separately and append results
 Ctype_list_flatten<>Base case: flattening an empty list yields an empty type_list
 Ctype_list_pop_backRemove the last type from a type list
 Ctype_list_pop_back< Head, Mid, Tail... >Remove the last type from a longer pack recursively
 Ctype_list_pop_back< Head, Tail >Specialization for exactly two types: last type is popped
 Ctype_list_pop_back< Tlist< Ts... > >Remove the last type from a templated type list
 Ctype_list_pop_frontRemove the first type from a type list
 Ctype_list_pop_front< T, Ts... >Remove the first type from a pack of types
 Ctype_list_pop_front< Tlist< U, Ts... > >Remove the first type from a templated type list
 Ctype_list_prependPrepends types or type lists to an existing type list
 Ctype_list_prepend< Initial< Inits... >, Elem >Prepend a single type to a type list
 Ctype_list_prepend< Initial< Inits... >, Prepender< Preps... > >Specialization to prepend one type list to another
 Ctype_list_reverseReverse the order of types in a type list
 Ctype_list_reverse< T, U, Ts... >Reverse a pack of types
 Ctype_list_reverse< Tlist< T, U, Ts... > >Reverse types in a templated type list
 Ctype_list_splitSplits a type list into two sublists using index sequences
 Ctype_list_split< T< Args... >, std::index_sequence< Is... >, std::index_sequence< Js... > >Specialization of type_list_split for variadic type lists
 Ctype_list_split_halfSplits a type list into two halves
 Ctype_list_split_half< T< Args... > >Specialization to split T<Args...> into two halves
 Ctype_list_uniqueRemoves duplicate types from a parameter pack
 Ctype_list_unique< T, Ts... >
 Ctype_list_unique<>