typelist.hpp File Reference

#include <ext/pb_assoc/detail/type_utils.hpp>
#include <ext/pb_assoc/detail/typelist/typelist_apply.hpp>
#include <ext/pb_assoc/detail/typelist/typelist_append.hpp>
#include <ext/pb_assoc/detail/typelist/typelist_typelist_append.hpp>
#include <ext/pb_assoc/detail/typelist/typelist_contains.hpp>
#include <ext/pb_assoc/detail/typelist/typelist_filter.hpp>
#include <ext/pb_assoc/detail/typelist/typelist_at_index.hpp>
#include <ext/pb_assoc/detail/typelist/typelist_transform.hpp>

Go to the source code of this file.

Namespaces

namespace  pb_assoc
namespace  pb_assoc::detail

Classes

struct  pb_assoc::detail::null_type
struct  pb_assoc::detail::typelist_chain< Hd, Tl >
struct  pb_assoc::detail::typelist< Root >
struct  pb_assoc::detail::typelist_append< Typelist0, Typelist1 >
struct  pb_assoc::detail::typelist_typelist_append< Typelist_Typelist >
struct  pb_assoc::detail::typelist_contains< Typelist, T >
struct  pb_assoc::detail::typelist_filter< Typelist, Pred >
struct  pb_assoc::detail::typelist_at_index< Typelist, i >
struct  pb_assoc::detail::typelist_transform< Typelist, Transform >

Defines

#define PB_ASSOC_TYPELIST_CHAIN1(X0)   pb_assoc::detail::typelist_chain<X0, pb_assoc::detail::null_type>
#define PB_ASSOC_TYPELIST_CHAIN2(X0, X1)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN1(X1) >
#define PB_ASSOC_TYPELIST_CHAIN3(X0, X1, X2)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN2(X1, X2) >
#define PB_ASSOC_TYPELIST_CHAIN4(X0, X1, X2, X3)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN3(X1, X2, X3) >
#define PB_ASSOC_TYPELIST_CHAIN5(X0, X1, X2, X3, X4)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN4(X1, X2, X3, X4) >
#define PB_ASSOC_TYPELIST_CHAIN6(X0, X1, X2, X3, X4, X5)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN5(X1, X2, X3, X4, X5) >
#define PB_ASSOC_TYPELIST_CHAIN7(X0, X1, X2, X3, X4, X5, X6)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN6(X1, X2, X3, X4, X5, X6) >
#define PB_ASSOC_TYPELIST_CHAIN8(X0, X1, X2, X3, X4, X5, X6, X7)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN7(X1, X2, X3, X4, X5, X6, X7) >
#define PB_ASSOC_TYPELIST_CHAIN9(X0, X1, X2, X3, X4, X5, X6, X7, X8)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN8(X1, X2, X3, X4, X5, X6, X7, X8) >
#define PB_ASSOC_TYPELIST_CHAIN10(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN9(X1, X2, X3, X4, X5, X6, X7, X8, X9) >
#define PB_ASSOC_TYPELIST_CHAIN11(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN10(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10) >
#define PB_ASSOC_TYPELIST_CHAIN12(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN11(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11) >
#define PB_ASSOC_TYPELIST_CHAIN13(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN12(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12) >
#define PB_ASSOC_TYPELIST_CHAIN14(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN13(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) >
#define PB_ASSOC_TYPELIST_CHAIN15(X0, X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14)   pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN14(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) >

Functions

template<class Fn, class Typelist>
void pb_assoc::detail::typelist_apply (Fn &r_fn, Typelist)


Detailed Description

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

Definition in file typelist.hpp.


Define Documentation

#define PB_ASSOC_TYPELIST_CHAIN1 ( X0   )     pb_assoc::detail::typelist_chain<X0, pb_assoc::detail::null_type>

Definition at line 78 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN10 ( X0,
X1,
X2,
X3,
X4,
X5,
X6,
X7,
X8,
X9   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN9(X1, X2, X3, X4, X5, X6, X7, X8, X9) >

Definition at line 87 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN11 ( X0,
X1,
X2,
X3,
X4,
X5,
X6,
X7,
X8,
X9,
X10   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN10(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10) >

Definition at line 88 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN12 ( X0,
X1,
X2,
X3,
X4,
X5,
X6,
X7,
X8,
X9,
X10,
X11   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN11(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11) >

Definition at line 89 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN13 ( X0,
X1,
X2,
X3,
X4,
X5,
X6,
X7,
X8,
X9,
X10,
X11,
X12   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN12(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12) >

Definition at line 90 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN14 ( X0,
X1,
X2,
X3,
X4,
X5,
X6,
X7,
X8,
X9,
X10,
X11,
X12,
X13   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN13(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13) >

Definition at line 91 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN15 ( X0,
X1,
X2,
X3,
X4,
X5,
X6,
X7,
X8,
X9,
X10,
X11,
X12,
X13,
X14   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN14(X1, X2, X3, X4, X5, X6, X7, X8, X9, X10, X11, X12, X13, X14) >

Definition at line 92 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN2 ( X0,
X1   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN1(X1) >

Definition at line 79 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN3 ( X0,
X1,
X2   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN2(X1, X2) >

Definition at line 80 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN4 ( X0,
X1,
X2,
X3   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN3(X1, X2, X3) >

Definition at line 81 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN5 ( X0,
X1,
X2,
X3,
X4   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN4(X1, X2, X3, X4) >

Definition at line 82 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN6 ( X0,
X1,
X2,
X3,
X4,
X5   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN5(X1, X2, X3, X4, X5) >

Definition at line 83 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN7 ( X0,
X1,
X2,
X3,
X4,
X5,
X6   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN6(X1, X2, X3, X4, X5, X6) >

Definition at line 84 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN8 ( X0,
X1,
X2,
X3,
X4,
X5,
X6,
X7   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN7(X1, X2, X3, X4, X5, X6, X7) >

Definition at line 85 of file typelist.hpp.

#define PB_ASSOC_TYPELIST_CHAIN9 ( X0,
X1,
X2,
X3,
X4,
X5,
X6,
X7,
X8   )     pb_assoc::detail::typelist_chain<X0, PB_ASSOC_TYPELIST_CHAIN8(X1, X2, X3, X4, X5, X6, X7, X8) >

Definition at line 86 of file typelist.hpp.


Generated on Tue Feb 2 16:57:29 2010 for GNU C++ STL by  doxygen 1.4.7