|
| struct | gmp::type_list<... > |
| | A variadic template structure representing a list of types. More...
|
| |
| struct | gmp::type_list_size< type_list< Types... > > |
| |
| struct | gmp::type_list_element< Idx, type_list< Head, Types... > > |
| |
| struct | gmp::type_list_element< 0, type_list< Head, Types... > > |
| |
| struct | gmp::type_list_tail< T > |
| | Remove the first element from a type list. More...
|
| |
| struct | gmp::type_list_tail< type_list< Head, Types... > > |
| |
| struct | gmp::type_list_concat< TypeList1, TypeList2, RestTypeLists > |
| | Concatenate multiple type lists into a single type list. More...
|
| |
| struct | gmp::type_list_concat< type_list< LTypes... >, type_list< RTypes... > > |
| |
| struct | gmp::type_list_contains< U, type_list< Types... > > |
| |
| struct | gmp::type_list_remove< Idx, type_list< Head, Types... > > |
| | Public implementation of type-list element removal. More...
|
| |
| struct | gmp::type_list_remove< 0, type_list< Head, Types... > > |
| |
| struct | gmp::type_list_insert< Idx, NewType, type_list< Head, Types... > > |
| |
| struct | gmp::type_list_insert< 0, NewType, type_list< Types... > > |
| |
| struct | gmp::filter< T, typename > |
| | Internal placeholder used during type-list filtering machinery. More...
|
| |
| struct | gmp::type_list_reverse< type_list< Types... > > |
| |
| struct | gmp::type_list_reverse< type_list<> > |
| |
| struct | gmp::type_list_unique< type_list< Head, Types... > > |
| |
| struct | gmp::type_list_unique< type_list<> > |
| |
| struct | gmp::type_list_filter< type_list< Head, Types... >, Pred > |
| |
| struct | gmp::type_list_filter< type_list<>, Pred > |
| |
|
| template<std::size_t Idx, typename T > |
| using | gmp::type_list_element_t = type_list_element< Idx, T >::type |
| |
| template<type_list_like T> |
| using | gmp::type_list_head = type_list_element_t< 0, T > |
| |
| template<type_list_like T> |
| using | gmp::type_list_last = type_list_element_t< type_list_size_v< T > - 1, T > |
| | Alias for the last element type in a type list.
|
| |
| template<typename T > |
| using | gmp::type_list_tail_t = type_list_tail< T >::type |
| |
| template<type_list_like... TypeLists> |
| using | gmp::type_list_concat_t = type_list_concat< TypeLists... >::type |
| |
| template<std::size_t Idx, type_list_like T> |
| using | gmp::type_list_remove_t = type_list_remove< Idx, T >::type |
| |
| template<type_list_like T> |
| using | gmp::type_list_pop_front = type_list_remove_t< 0, T > |
| |
| template<type_list_like T> |
| using | gmp::type_list_pop_back = type_list_remove_t< type_list_size_v< T > - 1, T > |
| |
| template<std::size_t Idx, typename NewType , type_list_like T> |
| using | gmp::type_list_insert_t = type_list_insert< Idx, NewType, T >::type |
| |
| template<typename NewType , type_list_like T> |
| using | gmp::type_list_push_front = type_list_insert_t< 0, NewType, T > |
| |
| template<typename NewType , type_list_like T> |
| using | gmp::type_list_push_back = type_list_insert_t< type_list_size_v< T >, NewType, T > |
| |
| template<type_list_like T> |
| using | gmp::type_list_reverse_t = type_list_reverse< T >::type |
| |
| template<typename T > |
| using | gmp::type_list_unique_t = type_list_unique< T >::type |
| |
| template<type_list_like T, template< typename > class Pred> |
| using | gmp::type_list_filter_t = type_list_filter< T, Pred >::type |
| |