# typelist.h File Reference

## Detailed Description

Contains typelist_chain definitions. Typelists are an idea by Andrei Alexandrescu.

Definition in file typelist.h.

Go to the source code of this file.

## Namespaces

- namespace __gnu_cxx
- namespace __gnu_cxx::typelist
- namespace __gnu_cxx::typelist::detail

## Classes

- struct __gnu_cxx::typelist::append< Typelist0, Typelist1 >
- struct __gnu_cxx::typelist::append_typelist< Typelist_Typelist >
- struct __gnu_cxx::typelist::at_index< Typelist, i >
- struct __gnu_cxx::typelist::chain< Hd, Typelist >
- struct __gnu_cxx::typelist::contains< Typelist, T >
- struct __gnu_cxx::typelist::create1< T1 >
- struct __gnu_cxx::typelist::create2< T1, T2 >
- struct __gnu_cxx::typelist::create3< T1, T2, T3 >
- struct __gnu_cxx::typelist::create4< T1, T2, T3, T4 >
- struct __gnu_cxx::typelist::create5< T1, T2, T3, T4, T5 >
- struct __gnu_cxx::typelist::create6< T1, T2, T3, T4, T5, T6 >
- struct __gnu_cxx::typelist::detail::append_< chain< Hd, Tl >, Typelist_Chain >
- struct __gnu_cxx::typelist::detail::append_< null_type, null_type >
- struct __gnu_cxx::typelist::detail::append_< null_type, Typelist_Chain >
- struct __gnu_cxx::typelist::detail::append_< Typelist_Chain, null_type >
- struct __gnu_cxx::typelist::detail::append_typelist_< chain< Hd, null_type > >
- struct __gnu_cxx::typelist::detail::append_typelist_< chain< Hd, Tl > >
- struct __gnu_cxx::typelist::detail::apply_< Fn, chain< Hd, Tl > >
- struct __gnu_cxx::typelist::detail::apply_< Fn, null_type >
- struct __gnu_cxx::typelist::detail::chain_at_index_< chain< Hd, Tl >, 0 >
- struct __gnu_cxx::typelist::detail::chain_at_index_< chain< Hd, Tl >, i >
- struct __gnu_cxx::typelist::detail::chain_filter_< chain< Hd, Tl >, Pred >
- struct __gnu_cxx::typelist::detail::chain_filter_< null_type, Pred >
- struct __gnu_cxx::typelist::detail::chain_flatten_< chain< Hd_Tl, null_type > >
- struct __gnu_cxx::typelist::detail::chain_flatten_< chain< Hd_Typelist, Tl_Typelist > >
- struct __gnu_cxx::typelist::detail::chain_transform_< chain< Hd, Tl >, Transform >
- struct __gnu_cxx::typelist::detail::chain_transform_< null_type, Transform >
- struct __gnu_cxx::typelist::detail::contains_< chain< Hd, Tl >, T >
- struct __gnu_cxx::typelist::detail::contains_< chain< T, Tl >, T >
- struct __gnu_cxx::typelist::detail::contains_< null_type, T >
- struct __gnu_cxx::typelist::filter< Typelist, Pred >
- struct __gnu_cxx::typelist::flatten< Typelist_Typelist >
- struct __gnu_cxx::typelist::from_first< Typelist >
- struct __gnu_cxx::typelist::node< Root >
- struct __gnu_cxx::typelist::null_type
- struct __gnu_cxx::typelist::transform< Typelist, Transform >

## Defines

- #define _GLIBCXX_TYPELIST_CHAIN1(X0)
- #define _GLIBCXX_TYPELIST_CHAIN10(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9)
- #define _GLIBCXX_TYPELIST_CHAIN11(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10)
- #define _GLIBCXX_TYPELIST_CHAIN12(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11)
- #define _GLIBCXX_TYPELIST_CHAIN13(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12)
- #define _GLIBCXX_TYPELIST_CHAIN14(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13)
- #define _GLIBCXX_TYPELIST_CHAIN15(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14)
- #define _GLIBCXX_TYPELIST_CHAIN2(X0, X1)
- #define _GLIBCXX_TYPELIST_CHAIN3(X0, X1, X2)
- #define _GLIBCXX_TYPELIST_CHAIN4(X0, X1, X2, X3)
- #define _GLIBCXX_TYPELIST_CHAIN5(X0, X1, X2, X3, X4)
- #define _GLIBCXX_TYPELIST_CHAIN6(X0, X1, X2, X3, X4, X5)
- #define _GLIBCXX_TYPELIST_CHAIN7(X0, X1, X2, X3, X4, X5, X6)
- #define _GLIBCXX_TYPELIST_CHAIN8(X0, X1, X2, X3, X4, X5, X6, X7)
- #define _GLIBCXX_TYPELIST_CHAIN9(X0, X1, X2, X3, X4, X5, X6, X7, X8)
- #define _TYPELIST_H

## Functions

- template<typename Fn, class Typelist> void __gnu_cxx::typelist::apply (Fn &, Typelist)