Nano
A C++ template metaprogramming library
|
Header file for the list metaclass to provide compile time lists. More...
Go to the source code of this file.
Classes | |
struct | nano::list< Ts > |
Meta class that holds types, and allows functions to be applied to the elements of the list using the internal apply struct. Usage: using nano::dim; \ To get dimension types using test_list = list<i, j, k, l>; \ A list of dimensions using shifted_list = list::apply<shift>; Where shift is some function which operates on a type in the list. More... | |
struct | nano::detail::get< Index, List > |
Meta function to get an element from a list. More... | |
struct | nano::detail::get< nano::size_t< Index >, list< Head, Tail...> > |
struct | nano::detail::get< nano::size_t< 0 >, list< Head, Tail...> > |
struct | nano::find_type< Type, List > |
Find the index of a specific type in the list (the index of the first occurrence). If the type is not found then the value 'parameter' will be -1. More... | |
struct | nano::find_type< Type, list< Head, Tail...> > |
struct | nano::find_type< Type, list< Type, Tail...> > |
struct | nano::find_type< Type, list<> > |
struct | nano::type_not_present< Type, List > |
To check if a type in a list is not found. Where the find_type tries to find a type and get its index to return, this function simply returns true of the type is not found, and false if the tpe is found. More... | |
struct | nano::type_not_present< Type, list< Head, Tail...> > |
struct | nano::type_not_present< Type, list< Type, Tail...> > |
struct | nano::type_not_present< Type, list<> > |
struct | nano::first_not_present< Type, List > |
Just check if the first element of the list was found (searching should be done beforehand) More... | |
struct | nano::first_not_present< Type, list< Head, Tail...> > |
struct | nano::join< List1, List2 > |
Joins two lists. More... | |
struct | nano::join< list< Ts...>, list< Us...> > |
Namespaces | |
nano | |
nano::detail | |
Typedefs | |
using | nano::empty_list = list<> |
template<std::size_t Index, typename List > | |
using | nano::get = typename detail::get< nano::size_t< Index >, List >::result |
Header file for the list metaclass to provide compile time lists.