koutil
|
Namespaces | |
namespace | detail |
Classes | |
struct | are_types |
struct | are_types< types< Types... > > |
struct | types |
A structure representing a variadic list of types. More... | |
struct | types_cat |
Concatenates two types lists. More... | |
struct | types_cat< types< T... >, types< U... > > |
Specialization for concatenating two types lists. More... | |
struct | types_containers |
A namespace containing container templates for types lists. More... | |
struct | types_count |
A template structure to count occurrences of a specific type in a types list. More... | |
struct | types_count< types< Types... > > |
Specialization to count occurrences of a specific type in a types list. More... | |
struct | types_transforms |
A namespace containing transform templates for types lists. More... | |
Concepts | |
concept | types_concept |
concept | types_transform |
Concept for a type that provides a transform template. | |
concept | types_container |
Concept for a type that provides a container template. | |
Typedefs | |
template<types_concept T, types_concept U> | |
using | types_cat_t = types_cat<T, U>::type |
Alias for the concatenated types list. | |
template<types_concept Types, std::size_t I> | |
using | types_get_t = detail::types_get_impl<Types, I>::type |
Alias for getting a type by index in a types list. | |
template<typename... Types> | |
using | unique_types_t = detail::unique_types_impl<Types...>::type |
Alias for creating a unique types list from a list of types. | |
template<types_concept Types> | |
using | types_unique_t = detail::types_unique_impl<Types>::type |
Alias for creating a unique types list from a types list. | |
template<types_concept Types, types_transform Transform> | |
using | types_transform_t = detail::types_transform_impl<Types, Transform>::type |
Alias for transforming a types list using a transform template. | |
template<types_concept Types, types_container Container = types_containers::vector> | |
using | types_to_containers_t = detail::types_to_containers<Types, Container>::type |
Alias for transforming a types list to a containers list. | |
template<types_concept Types> | |
using | types_to_arrays_t = detail::types_to_arrays<Types, types_unique_t<Types>>::type |
Alias for converting a types list to arrays of unique types. | |
template<types_concept Types, typename T > | |
using | types_remove_t = detail::types_remove<Types, T>::type |
template<types_concept Types, std::size_t N> | |
using | types_view_t = detail::types_view<N, Types>::type |
Variables | |
template<typename T > | |
constexpr bool | are_types_v = are_types<T>::value |
template<types_concept Types, typename T , std::size_t Skip = 0> | |
constexpr std::size_t | types_index_of_v = detail::types_index_of<T, Types, Skip>::value |
Gets the index of a type in a types list. | |
using koutil::type::types_cat_t = types_cat<T, U>::type |
Alias for the concatenated types list.
T | The first types list. |
U | The second types list. |
using koutil::type::types_get_t = detail::types_get_impl<Types, I>::type |
Alias for getting a type by index in a types list.
Types | The types list. |
I | The index. |
using koutil::type::types_remove_t = detail::types_remove<Types, T>::type |
using koutil::type::types_to_arrays_t = detail::types_to_arrays<Types, types_unique_t<Types>>::type |
Alias for converting a types list to arrays of unique types.
Types | The types list. |
using koutil::type::types_to_containers_t = detail::types_to_containers<Types, Container>::type |
Alias for transforming a types list to a containers list.
T | The types list. |
Container | The container template. |
using koutil::type::types_transform_t = detail::types_transform_impl<Types, Transform>::type |
Alias for transforming a types list using a transform template.
T | The types list. |
Transform | The transform template. |
using koutil::type::types_unique_t = detail::types_unique_impl<Types>::type |
Alias for creating a unique types list from a types
list.
Types | The types list. |
using koutil::type::types_view_t = detail::types_view<N, Types>::type |
using koutil::type::unique_types_t = detail::unique_types_impl<Types...>::type |
Alias for creating a unique types list from a list of types.
Types | The types in the list. |
|
inlineconstexpr |
|
inlineconstexpr |
Gets the index of a type in a types list.
Types | The types list. |
T | The type to find. |
Skip | The number of occurrences to skip. |