Aerobus v1.2
Loading...
Searching...
No Matches
Classes | Public Types | Static Public Attributes | List of all members
aerobus::type_list< Ts > Struct Template Reference

Empty pure template struct to handle type list. More...

#include <aerobus.h>

Classes

struct  pop_front
 removes types from head of the list More...
 
struct  split
 splits list at index More...
 

Public Types

template<typename T >
using push_front = type_list< T, Ts... >
 Adds T to front of the list.
 
template<size_t index>
using at = internal::type_at_t< index, Ts... >
 returns type at index
 
template<typename T >
using push_back = type_list< Ts..., T >
 pushes T at the tail of the list
 
template<typename U >
using concat = typename concat_h< U >::type
 concatenates two list into one
 
template<typename T , size_t index>
using insert = typename internal::insert_h< index, type_list< Ts... >, T >::type
 inserts type at index
 
template<size_t index>
using remove = typename internal::remove_h< index, type_list< Ts... > >::type
 removes type at index
 

Static Public Attributes

static constexpr size_t length = sizeof...(Ts)
 length of list
 

Detailed Description

template<typename... Ts>
struct aerobus::type_list< Ts >

Empty pure template struct to handle type list.

A list of types.

Template Parameters
...Tstypes to store and manipulate at compile time

Member Typedef Documentation

◆ at

template<typename... Ts>
template<size_t index>
using aerobus::type_list< Ts >::at = internal::type_at_t<index, Ts...>

returns type at index

Template Parameters
index

◆ concat

template<typename... Ts>
template<typename U >
using aerobus::type_list< Ts >::concat = typename concat_h<U>::type

concatenates two list into one

Template Parameters
U

◆ insert

template<typename... Ts>
template<typename T , size_t index>
using aerobus::type_list< Ts >::insert = typename internal::insert_h<index, type_list<Ts...>, T>::type

inserts type at index

Template Parameters
index
T

◆ push_back

template<typename... Ts>
template<typename T >
using aerobus::type_list< Ts >::push_back = type_list<Ts..., T>

pushes T at the tail of the list

Template Parameters
T

◆ push_front

template<typename... Ts>
template<typename T >
using aerobus::type_list< Ts >::push_front = type_list<T, Ts...>

Adds T to front of the list.

Template Parameters
T

◆ remove

template<typename... Ts>
template<size_t index>
using aerobus::type_list< Ts >::remove = typename internal::remove_h<index, type_list<Ts...> >::type

removes type at index

Template Parameters
index

Member Data Documentation

◆ length

template<typename... Ts>
constexpr size_t aerobus::type_list< Ts >::length = sizeof...(Ts)
staticconstexpr

length of list


The documentation for this struct was generated from the following file: