A Discrete-Event Network Simulator
Home
Tutorials ▼
English
Portuguese
Docs ▼
Wiki
Manual
Models
Develop ▼
API
Bugs
API
Main Page
Related Pages
Modules
Namespaces
Classes
Files
File List
File Members
type-traits.h
Go to the documentation of this file.
1
/* -*- Mode:C++; c-file-style:"gnu"; indent-tabs-mode:nil; -*- */
2
/*
3
* Copyright (c) 2007 INRIA
4
*
5
* This program is free software; you can redistribute it and/or modify
6
* it under the terms of the GNU General Public License version 2 as
7
* published by the Free Software Foundation;
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program; if not, write to the Free Software
16
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17
*
18
*/
19
20
#ifndef TYPE_TRAITS_H
21
#define TYPE_TRAITS_H
22
30
template
<
typename
T>
31
struct
TypeTraits
32
{
33
private
:
34
struct
NullType
{};
35
template
<
typename
U>
struct
UnConst
36
{
37
typedef
U
Result
;
38
};
39
template
<
typename
U>
struct
UnConst
<const U>
40
{
41
typedef
U
Result
;
42
};
43
template
<
typename
U>
struct
ReferenceTraits
44
{
45
enum
{
IsReference
= 0 };
46
typedef
U
ReferencedType
;
47
};
48
template
<
typename
U>
struct
ReferenceTraits
<U&>
49
{
50
enum
{
IsReference
= 1 };
51
typedef
U
ReferencedType
;
52
};
53
template
<
typename
U>
struct
PointerTraits
54
{
55
enum
{
IsPointer
= 0};
56
typedef
U
PointeeType
;
57
};
58
template
<
typename
U>
struct
PointerTraits
<U *>
59
{
60
enum
{
IsPointer
= 1};
61
typedef
U
PointeeType
;
62
};
63
template
<
typename
U>
struct
FunctionPtrTraits
64
{
65
enum
{
IsFunctionPointer
= 0};
66
typedef
NullType
ReturnType
;
67
};
68
template
<
typename
U>
69
struct
FunctionPtrTraits
<U (*)(
void
)>
70
{
71
enum
{
IsFunctionPointer
= 1};
72
enum
{ nArgs = 0};
73
typedef
U
ReturnType
;
74
};
75
template
<
typename
U,
typename
V1>
76
struct
FunctionPtrTraits
<U (*)(V1)>
77
{
78
enum
{
IsFunctionPointer
= 1};
79
enum
{ nArgs = 1};
80
typedef
U
ReturnType
;
81
typedef
V1
Arg1Type
;
82
};
83
template
<
typename
U,
typename
V1,
typename
V2>
84
struct
FunctionPtrTraits
<U (*)(V1,V2)>
85
{
86
enum
{
IsFunctionPointer
= 1};
87
enum
{ nArgs = 2};
88
typedef
U
ReturnType
;
89
typedef
V1
Arg1Type
;
90
typedef
V2
Arg2Type
;
91
};
92
template
<
typename
U,
typename
V1,
typename
V2,
93
typename
V3>
94
struct
FunctionPtrTraits
<U (*)(V1,V2,V3)>
95
{
96
enum
{
IsFunctionPointer
= 1};
97
enum
{ nArgs = 3};
98
typedef
U
ReturnType
;
99
typedef
V1
Arg1Type
;
100
typedef
V2
Arg2Type
;
101
typedef
V3
Arg3Type
;
102
};
103
template
<
typename
U,
typename
V1,
typename
V2,
104
typename
V3,
typename
V4>
105
struct
FunctionPtrTraits
<U (*)(V1,V2,V3,V4)>
106
{
107
enum
{
IsFunctionPointer
= 1};
108
enum
{ nArgs = 4};
109
typedef
U
ReturnType
;
110
typedef
V1
Arg1Type
;
111
typedef
V2
Arg2Type
;
112
typedef
V3
Arg3Type
;
113
typedef
V4
Arg4Type
;
114
};
115
template
<
typename
U,
typename
V1,
typename
V2,
116
typename
V3,
typename
V4,
117
typename
V5>
118
struct
FunctionPtrTraits
<U (*)(V1,V2,V3,V4,V5)>
119
{
120
enum
{
IsFunctionPointer
= 1};
121
enum
{ nArgs = 5};
122
typedef
U
ReturnType
;
123
typedef
V1
Arg1Type
;
124
typedef
V2
Arg2Type
;
125
typedef
V3
Arg3Type
;
126
typedef
V4
Arg4Type
;
127
typedef
V5
Arg5Type
;
128
};
129
template
<
typename
U,
typename
V1,
typename
V2,
130
typename
V3,
typename
V4,
131
typename
V5,
typename
V6>
132
struct
FunctionPtrTraits
<U (*)(V1,V2,V3,V4,V5,V6)>
133
{
134
enum
{
IsFunctionPointer
= 1};
135
enum
{ nArgs = 6};
136
typedef
U
ReturnType
;
137
typedef
V1
Arg1Type
;
138
typedef
V2
Arg2Type
;
139
typedef
V3
Arg3Type
;
140
typedef
V4
Arg4Type
;
141
typedef
V5
Arg5Type
;
142
typedef
V6
Arg6Type
;
143
};
144
template
<
typename
U>
struct
PtrToMemberTraits
145
{
146
enum
{
IsPointerToMember
= 0};
147
};
148
template
<
typename
U,
typename
V>
149
struct
PtrToMemberTraits
<U (V::*) (void)>
150
{
151
enum
{
IsPointerToMember
= 1};
152
enum
{ nArgs = 0};
153
typedef
U
ReturnType
;
154
};
155
template
<
typename
U,
typename
V>
156
struct
PtrToMemberTraits
<U (V::*) (void) const>
157
{
158
enum
{
IsPointerToMember
= 1};
159
enum
{ nArgs = 0};
160
typedef
U
ReturnType
;
161
};
162
template
<
typename
U,
typename
V,
typename
W1>
163
struct
PtrToMemberTraits
<U (V::*) (W1)>
164
{
165
enum
{
IsPointerToMember
= 1};
166
enum
{ nArgs = 1};
167
typedef
U
ReturnType
;
168
typedef
W1
Arg1Type
;
169
};
170
template
<
typename
U,
typename
V,
typename
W1>
171
struct
PtrToMemberTraits
<U (V::*) (W1) const>
172
{
173
enum
{
IsPointerToMember
= 1};
174
enum
{ nArgs = 1};
175
typedef
U
ReturnType
;
176
typedef
W1
Arg1Type
;
177
};
178
template
<
typename
U,
typename
V,
typename
W1,
typename
W2>
179
struct
PtrToMemberTraits
<U (V::*) (W1,W2)>
180
{
181
enum
{
IsPointerToMember
= 1};
182
enum
{ nArgs = 2};
183
typedef
U
ReturnType
;
184
typedef
W1
Arg1Type
;
185
typedef
W2
Arg2Type
;
186
};
187
template
<
typename
U,
typename
V,
typename
W1,
typename
W2>
188
struct
PtrToMemberTraits
<U (V::*) (W1,W2) const>
189
{
190
enum
{
IsPointerToMember
= 1};
191
enum
{ nArgs = 2};
192
typedef
U
ReturnType
;
193
typedef
W1
Arg1Type
;
194
typedef
W2
Arg2Type
;
195
};
196
template
<
typename
U,
typename
V,
197
typename
W1,
typename
W2,
198
typename
W3>
199
struct
PtrToMemberTraits
<U (V::*) (W1,W2,W3)>
200
{
201
enum
{
IsPointerToMember
= 1};
202
enum
{ nArgs = 3};
203
typedef
U
ReturnType
;
204
typedef
W1
Arg1Type
;
205
typedef
W2
Arg2Type
;
206
typedef
W3
Arg3Type
;
207
};
208
template
<
typename
U,
typename
V,
209
typename
W1,
typename
W2,
210
typename
W3>
211
struct
PtrToMemberTraits
<U (V::*) (W1,W2,W3) const>
212
{
213
enum
{
IsPointerToMember
= 1};
214
enum
{ nArgs = 3};
215
typedef
U
ReturnType
;
216
typedef
W1
Arg1Type
;
217
typedef
W2
Arg2Type
;
218
typedef
W3
Arg3Type
;
219
};
220
template
<
typename
U,
typename
V,
221
typename
W1,
typename
W2,
222
typename
W3,
typename
W4>
223
struct
PtrToMemberTraits
<U (V::*) (W1,W2,W3,W4)>
224
{
225
enum
{
IsPointerToMember
= 1};
226
enum
{ nArgs = 4};
227
typedef
U
ReturnType
;
228
typedef
W1
Arg1Type
;
229
typedef
W2
Arg2Type
;
230
typedef
W3
Arg3Type
;
231
typedef
W4
Arg4Type
;
232
};
233
template
<
typename
U,
typename
V,
234
typename
W1,
typename
W2,
235
typename
W3,
typename
W4>
236
struct
PtrToMemberTraits
<U (V::*) (W1,W2,W3,W4) const>
237
{
238
enum
{
IsPointerToMember
= 1};
239
enum
{ nArgs = 4};
240
typedef
U
ReturnType
;
241
typedef
W1
Arg1Type
;
242
typedef
W2
Arg2Type
;
243
typedef
W3
Arg3Type
;
244
typedef
W4
Arg4Type
;
245
};
246
template
<
typename
U,
typename
V,
247
typename
W1,
typename
W2,
248
typename
W3,
typename
W4,
249
typename
W5>
250
struct
PtrToMemberTraits
<U (V::*) (W1,W2,W3,W4,W5)>
251
{
252
enum
{
IsPointerToMember
= 1};
253
enum
{ nArgs = 5};
254
typedef
U
ReturnType
;
255
typedef
W1
Arg1Type
;
256
typedef
W2
Arg2Type
;
257
typedef
W3
Arg3Type
;
258
typedef
W4
Arg4Type
;
259
typedef
W5
Arg5Type
;
260
};
261
template
<
typename
U,
typename
V,
262
typename
W1,
typename
W2,
263
typename
W3,
typename
W4,
264
typename
W5>
265
struct
PtrToMemberTraits
<U (V::*) (W1,W2,W3,W4,W5) const>
266
{
267
enum
{
IsPointerToMember
= 1};
268
enum
{ nArgs = 5};
269
typedef
U
ReturnType
;
270
typedef
W1
Arg1Type
;
271
typedef
W2
Arg2Type
;
272
typedef
W3
Arg3Type
;
273
typedef
W4
Arg4Type
;
274
typedef
W5
Arg5Type
;
275
};
276
template
<
typename
U,
typename
V,
277
typename
W1,
typename
W2,
278
typename
W3,
typename
W4,
279
typename
W5,
typename
W6>
280
struct
PtrToMemberTraits
<U (V::*) (W1,W2,W3,W4,W5,W6)>
281
{
282
enum
{
IsPointerToMember
= 1};
283
enum
{ nArgs = 6};
284
typedef
U
ReturnType
;
285
typedef
W1
Arg1Type
;
286
typedef
W2
Arg2Type
;
287
typedef
W3
Arg3Type
;
288
typedef
W4
Arg4Type
;
289
typedef
W5
Arg5Type
;
290
typedef
W6
Arg6Type
;
291
};
292
template
<
typename
U,
typename
V,
293
typename
W1,
typename
W2,
294
typename
W3,
typename
W4,
295
typename
W5,
typename
W6>
296
struct
PtrToMemberTraits
<U (V::*) (W1,W2,W3,W4,W5,W6) const>
297
{
298
enum
{
IsPointerToMember
= 1};
299
enum
{ nArgs = 6};
300
typedef
U
ReturnType
;
301
typedef
W1
Arg1Type
;
302
typedef
W2
Arg2Type
;
303
typedef
W3
Arg3Type
;
304
typedef
W4
Arg4Type
;
305
typedef
W5
Arg5Type
;
306
typedef
W6
Arg6Type
;
307
};
308
309
public
:
310
typedef
typename
UnConst<T>::Result
NonConstType
;
311
typedef
typename
ReferenceTraits<T>::ReferencedType
ReferencedType
;
312
typedef
typename
PointerTraits<T>::PointeeType
PointeeType
;
313
enum
{
IsPointerToMember
= PtrToMemberTraits<T>::IsPointerToMember};
314
enum
{
IsPointer
= PointerTraits<T>::IsPointer};
315
enum
{
IsReference
= ReferenceTraits<T>::IsReference};
316
enum
{
IsFunctionPointer
= FunctionPtrTraits<T>::IsFunctionPointer};
317
typedef
PtrToMemberTraits<T>
PointerToMemberTraits
;
318
typedef
FunctionPtrTraits<T>
FunctionPointerTraits
;
319
};
320
321
322
#endif
/* TYPE_TRAITS_H */
TypeTraits::PtrToMemberTraits::IsPointerToMember
Definition:
type-traits.h:146
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4)>::Arg4Type
V4 Arg4Type
Fourth argument type.
Definition:
type-traits.h:113
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>::Arg6Type
V6 Arg6Type
Sixth argument type.
Definition:
type-traits.h:142
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3) const >::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:215
TypeTraits::UnConst::Result
U Result
Non-const result type.
Definition:
type-traits.h:37
TypeTraits::PointerTraits
< Non-pointer type traits
Definition:
type-traits.h:53
TypeTraits::FunctionPtrTraits::IsFunctionPointer
Definition:
type-traits.h:65
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:300
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>::Arg3Type
W3 Arg3Type
Third argument type.
Definition:
type-traits.h:257
TypeTraits::PtrToMemberTraits< U(V::*)(W1)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:167
TypeTraits::PtrToMemberTraits
< Pointer to member type traits
Definition:
type-traits.h:144
TypeTraits::FunctionPtrTraits< U(*)(V1, V2)>::Arg1Type
V1 Arg1Type
First argument type.
Definition:
type-traits.h:89
TypeTraits::FunctionPtrTraits< U(*)(void)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:73
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>::Arg4Type
W4 Arg4Type
Fourth argument type.
Definition:
type-traits.h:258
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>::Arg5Type
V5 Arg5Type
Fifth argument type.
Definition:
type-traits.h:141
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:285
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >::Arg3Type
W3 Arg3Type
Third argument type.
Definition:
type-traits.h:272
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3)>::Arg2Type
W2 Arg2Type
Second argument type.
Definition:
type-traits.h:205
TypeTraits::FunctionPtrTraits< U(*)(V1)>::Arg1Type
V1 Arg1Type
First argument type.
Definition:
type-traits.h:81
TypeTraits::IsPointer
Definition:
type-traits.h:314
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:203
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4)>::Arg2Type
V2 Arg2Type
Second argument type.
Definition:
type-traits.h:111
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2) const >::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:192
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >::Arg2Type
W2 Arg2Type
Second argument type.
Definition:
type-traits.h:242
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >::Arg5Type
W5 Arg5Type
Fifth argument type.
Definition:
type-traits.h:274
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >::Arg4Type
W4 Arg4Type
Fourth argument type.
Definition:
type-traits.h:273
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2) const >::Arg2Type
W2 Arg2Type
Second argument type.
Definition:
type-traits.h:194
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:136
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >::Arg5Type
W5 Arg5Type
Fifth argument type.
Definition:
type-traits.h:305
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>::Arg4Type
V4 Arg4Type
Fourth argument type.
Definition:
type-traits.h:140
TypeTraits::FunctionPtrTraits< U(*)(V1)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:80
TypeTraits::PtrToMemberTraits< U(V::*)(W1) const >::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:176
TypeTraits::IsFunctionPointer
Definition:
type-traits.h:316
TypeTraits::PtrToMemberTraits< U(V::*)(void)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:153
TypeTraits::PointerToMemberTraits
PtrToMemberTraits< T > PointerToMemberTraits
Pointer to member traits type.
Definition:
type-traits.h:317
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>::Arg6Type
W6 Arg6Type
Sixth argument type.
Definition:
type-traits.h:290
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>::Arg1Type
V1 Arg1Type
First argument type.
Definition:
type-traits.h:137
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3) const >::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:216
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>::Arg3Type
W3 Arg3Type
Third argument type.
Definition:
type-traits.h:287
TypeTraits::FunctionPtrTraits< U(*)(V1, V2)>::Arg2Type
V2 Arg2Type
Second argument type.
Definition:
type-traits.h:90
TypeTraits::PointerTraits< U * >::PointeeType
U PointeeType
Pointer result type.
Definition:
type-traits.h:61
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:269
TypeTraits::FunctionPtrTraits
< Non-function pointer type traits
Definition:
type-traits.h:63
TypeTraits::NullType
Null value type traits.
Definition:
type-traits.h:34
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>::Arg5Type
W5 Arg5Type
Fifth argument type.
Definition:
type-traits.h:289
TypeTraits::ReferenceTraits< U & >::ReferencedType
U ReferencedType
Referenced result type.
Definition:
type-traits.h:51
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3)>::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:204
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>::Arg2Type
V2 Arg2Type
Second argument type.
Definition:
type-traits.h:124
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2)>::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:184
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:122
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >::Arg2Type
W2 Arg2Type
Second argument type.
Definition:
type-traits.h:271
TypeTraits::ReferenceTraits::IsReference
Non-reference value.
Definition:
type-traits.h:45
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2) const >::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:193
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>::Arg2Type
W2 Arg2Type
Second argument type.
Definition:
type-traits.h:229
TypeTraits::PtrToMemberTraits< U(V::*)(W1) const >::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:175
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >::Arg4Type
W4 Arg4Type
Fourth argument type.
Definition:
type-traits.h:244
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3)>::Arg2Type
V2 Arg2Type
Second argument type.
Definition:
type-traits.h:100
TypeTraits::PointerTraits::PointeeType
U PointeeType
Non-pointer result type.
Definition:
type-traits.h:56
TypeTraits::ReferencedType
ReferenceTraits< T >::ReferencedType ReferencedType
Referenced type.
Definition:
type-traits.h:311
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:301
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:270
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>::Arg4Type
V4 Arg4Type
Fourth argument type.
Definition:
type-traits.h:126
TypeTraits::FunctionPointerTraits
FunctionPtrTraits< T > FunctionPointerTraits
Function pointer traits.
Definition:
type-traits.h:318
TypeTraits::UnConst< const U >::Result
U Result
Non-const result type.
Definition:
type-traits.h:41
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3) const >::Arg3Type
W3 Arg3Type
Third argument type.
Definition:
type-traits.h:218
TypeTraits::FunctionPtrTraits< U(*)(V1, V2)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:88
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>::Arg1Type
V1 Arg1Type
First argument type.
Definition:
type-traits.h:123
TypeTraits::PtrToMemberTraits< U(V::*)(W1)>::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:168
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >::Arg2Type
W2 Arg2Type
Second argument type.
Definition:
type-traits.h:302
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3)>::Arg3Type
W3 Arg3Type
Third argument type.
Definition:
type-traits.h:206
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>::Arg4Type
W4 Arg4Type
Fourth argument type.
Definition:
type-traits.h:288
TypeTraits::PointerTraits::IsPointer
Definition:
type-traits.h:55
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >::Arg3Type
W3 Arg3Type
Third argument type.
Definition:
type-traits.h:303
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2)>::Arg2Type
W2 Arg2Type
Second argument type.
Definition:
type-traits.h:185
TypeTraits::UnConst
< Non-const type
Definition:
type-traits.h:35
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>::Arg2Type
W2 Arg2Type
Second argument type.
Definition:
type-traits.h:286
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>::Arg3Type
V3 Arg3Type
Third argument type.
Definition:
type-traits.h:139
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:227
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3) const >::Arg2Type
W2 Arg2Type
Second argument type.
Definition:
type-traits.h:217
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >::Arg6Type
W6 Arg6Type
Sixth argument type.
Definition:
type-traits.h:306
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:240
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>::Arg3Type
W3 Arg3Type
Third argument type.
Definition:
type-traits.h:230
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:254
TypeTraits
Type trait reference values.
Definition:
type-traits.h:31
TypeTraits::PointeeType
PointerTraits< T >::PointeeType PointeeType
Pointee type.
Definition:
type-traits.h:312
TypeTraits::ReferenceTraits
< Non-reference type traits
Definition:
type-traits.h:43
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:241
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:109
TypeTraits::ReferenceTraits::ReferencedType
U ReferencedType
Non-referenced result type.
Definition:
type-traits.h:46
TypeTraits::IsPointerToMember
Definition:
type-traits.h:313
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>::Arg3Type
V3 Arg3Type
Third argument type.
Definition:
type-traits.h:125
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>::Arg4Type
W4 Arg4Type
Fourth argument type.
Definition:
type-traits.h:231
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3)>::Arg3Type
V3 Arg3Type
Third argument type.
Definition:
type-traits.h:101
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>::Arg5Type
V5 Arg5Type
Fifth argument type.
Definition:
type-traits.h:127
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3)>::Arg1Type
V1 Arg1Type
First argument type.
Definition:
type-traits.h:99
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>::Arg2Type
V2 Arg2Type
Second argument type.
Definition:
type-traits.h:138
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4)>::Arg3Type
V3 Arg3Type
Third argument type.
Definition:
type-traits.h:112
TypeTraits::NonConstType
UnConst< T >::Result NonConstType
Non-const type.
Definition:
type-traits.h:310
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >::Arg4Type
W4 Arg4Type
Fourth argument type.
Definition:
type-traits.h:304
TypeTraits::FunctionPtrTraits::ReturnType
NullType ReturnType
Non-function pointer result type.
Definition:
type-traits.h:66
TypeTraits::PtrToMemberTraits< U(V::*)(void) const >::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:160
TypeTraits::IsReference
Definition:
type-traits.h:315
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >::Arg3Type
W3 Arg3Type
Third argument type.
Definition:
type-traits.h:243
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:255
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3, V4)>::Arg1Type
V1 Arg1Type
First argument type.
Definition:
type-traits.h:110
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>::Arg1Type
W1 Arg1Type
First argument type.
Definition:
type-traits.h:228
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>::Arg5Type
W5 Arg5Type
Fifth argument type.
Definition:
type-traits.h:259
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>::Arg2Type
W2 Arg2Type
Second argument type.
Definition:
type-traits.h:256
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:284
TypeTraits::PtrToMemberTraits< U(V::*)(W1, W2)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:183
TypeTraits::FunctionPtrTraits< U(*)(V1, V2, V3)>::ReturnType
U ReturnType
Return type.
Definition:
type-traits.h:98
src
core
model
type-traits.h
Generated on Wed May 13 2015 14:59:12 for ns-3 by
1.8.9.1