Sierra Toolkit Version of the Day
TypeList: linked list of types

Linked-list of compile-time types and supporting compile-time linked list operations. More...

Collaboration diagram for TypeList: linked list of types:

Classes

class  stk::SameType< T1, T2 >
 Member enum { value = ... }; is true if T1 and T2 are the same type. More...
class  stk::TypeList< Value, Tail >
 A link within a linked list of types.A linked list of types where Tail is required to either terminate the list with TypeListEnd or continue the list with another instantiation of TypeList . More...
class  stk::TypeListLength< ListType >
 Member enum { value = ... }; is the length of the type list. More...
class  stk::TypeListAt< ListType, ordinal >
 Member typedef ... type ; is the type of the member of ListType at location ordinal if ordinal is less than the type list length. More...
class  stk::TypeListIndex< ListType, TestValue, ordinal >
 Member enum { value = ... }; is the location within ListType of occurance I of type TestValue . If this occurance does not exist then value = -1 . More...
class  stk::TypeListCount< ListType, TestValue >
 Member enum { value = ... }; is the number of occurances of TestValue within ListType . More...
class  stk::TypeListMember< ListType, TestValue >
 Member enum { value = ... }; is true if TestValue is a member of ListType . More...
class  stk::TypeListUnique< ListType >
 Member enum { value = ... }; is true if each member of ListType appears exactly once. More...
class  stk::TypeListDisjoint< ListA, ListB >
 Member enum { value = ... }; is true if all members of ListA are not a member ListB . More...
class  stk::TypeListFirst< ListType >
 Member typedef ... type ; is the first member of ListType . More...
class  stk::TypeListLast< ListType >
 Member typedef ... type ; is the last member of ListType . More...
class  stk::TypeListAppend< ListA, T >
 Member typedef ... type ; is defined by appending T to the end of ListA . More...
class  stk::TypeListJoin< ListA, ListB >
 Member typedef ... type ; is defined by joining ListB to the end of ListA . More...
class  stk::TypeListEraseAt< ListType, ordinal >
 Member typedef ... type ; is defined by erasing member at ordinal from ListType . More...
class  stk::MakeTypeList< T00, T01, T02, T03, T04, T05, T06, T07, T08, T09, T10, T11, T12, T13, T14, T15, T16, T17, T18, T19, T20, T21, T22, T23, T24, T25, T26, T27, T28, T29, T30, T31, T32, T33, T34, T35, T36, T37, T38, T39, T40, T41, T42, T43, T44, T45, T46, T47, T48, T49, T50, T51, T52, T53, T54, T55, T56, T57, T58, T59, T60, T61, T62, T63 >
 Member typedef ... type ; is a type list constructed from the template arguments. More...

Detailed Description

Linked-list of compile-time types and supporting compile-time linked list operations.

Author:
H. Carter Edwards <hcedwar@sandia.gov>

'TypeList' templates significantly enhanced from Alexandrescu's "Modern C++ Design" book.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends