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< signedchar, unsignedchar, signedshort, unsignedshort, signedint, unsignedint, signedlong, unsignedlong, signedlonglong, unsignedlonglong, float, double, longdouble, 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.