Claw  1.7.3
Classes | Namespaces | Typedefs
type_list.hpp File Reference

Template classes for lists of types. More...

#include <claw/meta/conditional.hpp>
#include <claw/meta/no_type.hpp>
#include <claw/meta/same_type.hpp>

Go to the source code of this file.

Classes

struct  claw::meta::type_list< Head, Queue >
 Use this class to make a list of types. More...
struct  claw::meta::split_type_list_at< Delimiter, no_type >
 Specialisation of split_type_list_at for an empty list or the case where the delimiter is no_type. More...
struct  claw::meta::split_type_list_at< Delimiter, TypeList >
 Split a type_list according to the first instance of a given type. More...
struct  claw::meta::type_list_maker_1< T1 >
 A type list with a single type, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_2< T1, T2 >
 A type list with two types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_3< T1, T2, T3 >
 A type list with three types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_4< T1, T2, T3, T4 >
 A type list with four types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_5< T1, T2, T3, T4, T5 >
 A type list with five types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_6< T1, T2, T3, T4, T5, T6 >
 A type list with six types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_7< T1, T2, T3, T4, T5, T6, T7 >
 A type list with seven types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_8< T1, T2, T3, T4, T5, T6, T7, T8 >
 A type list with height types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_9< T1, T2, T3, T4, T5, T6, T7, T8, T9 >
 A type list with nine types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_10< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10 >
 A type list with ten types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_11< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11 >
 A type list with eleven types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_12< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12 >
 A type list with twelve types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_13< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13 >
 A type list with thirteen types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_14< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14 >
 A type list with fourteen types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker_15< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >
 A type list with fifteen types, more readable than an imbricated type_list. More...
struct  claw::meta::type_list_maker< T1, T2, T3, T4, T5, T6, T7, T8, T9, T10, T11, T12, T13, T14, T15 >
 A type list with up to six types, more readable than an imbricated type_list, more readable than type_list_maker_1 and others. More...
struct  claw::meta::type_list_find< T, List >
 Check if a type is present in a type_list. More...
struct  claw::meta::type_list_find< T, no_type >
struct  claw::meta::type_list_is_a_set< List >
 This class checks if each type in a type_list<> is present only once. More...
struct  claw::meta::type_list_is_a_set< no_type >
struct  claw::meta::type_list_length< List >
 This class computes the length of a list of types. More...
struct  claw::meta::type_list_length< no_type >
struct  claw::meta::type_list_contains< T, type_list< T, Tail > >
struct  claw::meta::type_list_contains< T, no_type >
struct  claw::meta::type_list_contains< T, type_list< Head, Tail > >

Namespaces

namespace  claw
 This is the main namespace.
namespace  claw::meta
 Structures for meta-programmation.

Typedefs

typedef type_list_maker
< signed char, unsigned char,
signed short, unsigned short,
signed int, unsigned int,
signed long, unsigned long,
signed long long, unsigned
long long, float, double, long
double, bool >::result 
claw::meta::cpp_type_list
 The list of the types of the C++ language.

Detailed Description

Template classes for lists of types.

Author
Julien Jorge

Definition in file type_list.hpp.