Blaze 3.9
Append.h
Go to the documentation of this file.
1//=================================================================================================
33//=================================================================================================
34
35#ifndef _BLAZE_UTIL_TYPELIST_APPEND_H_
36#define _BLAZE_UTIL_TYPELIST_APPEND_H_
37
38
39//*************************************************************************************************
40// Includes
41//*************************************************************************************************
42
44
45
46namespace blaze {
47
48//=================================================================================================
49//
50// CLASS DEFINITION
51//
52//=================================================================================================
53
54//*************************************************************************************************
67template< typename TL // Type of the type list
68 , typename T > // The type to be appended to the type list
69struct Append;
70//*************************************************************************************************
71
72
73//*************************************************************************************************
78template< typename... Ts // Types of the type list
79 , typename T > // The type to be appended to the type list
80struct Append< TypeList<Ts...>, T >
81{
82 using Type = TypeList<Ts...,T>;
83};
85//*************************************************************************************************
86
87
88//*************************************************************************************************
93template< typename... Ts1 // Type of the type list
94 , typename... Ts2 > // The types to be appended to the type list
95struct Append< TypeList<Ts1...>, TypeList<Ts2...> >
96{
97 using Type = TypeList<Ts1...,Ts2...>;
98};
100//*************************************************************************************************
101
102
103//*************************************************************************************************
116template< typename TL // Type of the type list
117 , typename T > // The type to be appended to the type list
119//*************************************************************************************************
120
121} // namespace blaze
122
123#endif
typename Append< TL, T >::Type Append_t
Auxiliary alias declaration for the Append class template.
Definition: Append.h:118
Appending a type to a type list.
Definition: Append.h:69
Implementation of a type list.
Definition: TypeList.h:120
Header file for the TypeList class template.