A Discrete-Event Network Simulator
API
ns3::TypeTraits< T > Struct Template Reference

Inspect a type to deduce its features. More...

#include "type-traits.h"

+ Inheritance diagram for ns3::TypeTraits< T >:

Classes

struct  Base
 Base type, after removing &, * and const. More...
 
struct  Base< const U >
 Base type, after removing const. More...
 
struct  Base< U & >
 Base type, after removing &. More...
 
struct  Base< U * >
 Base type, after removing *. More...
 
struct  FunctionPtrTraits
 Not a function pointer type. More...
 
struct  FunctionPtrTraits< U(*)(V1)>
 Function pointer type. More...
 
struct  FunctionPtrTraits< U(*)(V1, V2)>
 Function pointer type. More...
 
struct  FunctionPtrTraits< U(*)(V1, V2, V3)>
 Function pointer type. More...
 
struct  FunctionPtrTraits< U(*)(V1, V2, V3, V4)>
 Function pointer type. More...
 
struct  FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5)>
 Function pointer type. More...
 
struct  FunctionPtrTraits< U(*)(V1, V2, V3, V4, V5, V6)>
 Function pointer type. More...
 
struct  FunctionPtrTraits< U(*)(void)>
 Function pointer type. More...
 
struct  NullType
 Null value type traits. More...
 
struct  PointerTraits
 Not a pointer type. More...
 
struct  PointerTraits< ns3::Ptr< U > >
 Ptr type. More...
 
struct  PointerTraits< U * >
 Pointer type. More...
 
struct  PtrBase
 Base type of a Ptr. More...
 
struct  PtrBase< ns3::Ptr< U > >
 Base type of a Ptr. More...
 
struct  PtrToMemberTraits
 Not a pointer to member type. More...
 
struct  PtrToMemberTraits< U(V::*)(void) const >
 Pointer to const member function. More...
 
struct  PtrToMemberTraits< U(V::*)(void)>
 Pointer to member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1) const >
 Pointer to const member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1)>
 Pointer to member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1, W2) const >
 Pointer to const member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1, W2)>
 Pointer to member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1, W2, W3) const >
 Pointer to const member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1, W2, W3)>
 Pointer to member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1, W2, W3, W4) const >
 Pointer to const member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1, W2, W3, W4)>
 Pointer to member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5) const >
 Pointer to const member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5)>
 Pointer to member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6) const >
 Pointer to const member function. More...
 
struct  PtrToMemberTraits< U(V::*)(W1, W2, W3, W4, W5, W6)>
 Pointer to member function. More...
 
struct  ReferenceTraits
 Not a reference type. More...
 
struct  ReferenceTraits< U & >
 Reference type. More...
 
struct  UnConst
 Not a const type. More...
 
struct  UnConst< const U >
 Const type. More...
 

Public Types

enum  {
  IsPointerToMember = PtrToMemberTraits<T>::IsPointerToMember, IsPointer = PointerTraits<T>::IsPointer, IsPtr = PointerTraits<T>::IsPtr, IsReference = ReferenceTraits<T>::IsReference,
  IsFunctionPointer = FunctionPtrTraits<T>::IsFunctionPointer
}
 Predicates. More...
 
typedef Base< T >::Type BaseType
 Base type, after removing &, * and const. More...
 
typedef FunctionPtrTraits< T > FunctionPointerTraits
 Function pointer traits. More...
 
typedef UnConst< T >::Result NonConstType
 Not a const type. More...
 
typedef PointerTraits< T >::PointeeType PointeeType
 Pointee type. More...
 
typedef PtrToMemberTraits< T > PointerToMemberTraits
 Pointer to member traits type. More...
 
typedef PtrBase< T >::Type PtrBaseType
 Ptr base type. More...
 
typedef ReferenceTraits< T >::ReferencedType ReferencedType
 Referenced type. More...
 

Detailed Description

template<typename T>
struct ns3::TypeTraits< T >

Inspect a type to deduce its features.

Template Parameters
T[deduced] The type to inspect.

Definition at line 39 of file type-traits.h.

Member Typedef Documentation

◆ BaseType

template<typename T>
typedef Base<T>::Type ns3::TypeTraits< T >::BaseType

Base type, after removing &, * and const.

Definition at line 580 of file type-traits.h.

◆ FunctionPointerTraits

template<typename T>
typedef FunctionPtrTraits<T> ns3::TypeTraits< T >::FunctionPointerTraits

Function pointer traits.

Definition at line 599 of file type-traits.h.

◆ NonConstType

template<typename T>
typedef UnConst<T>::Result ns3::TypeTraits< T >::NonConstType

Not a const type.

Definition at line 574 of file type-traits.h.

◆ PointeeType

template<typename T>
typedef PointerTraits<T>::PointeeType ns3::TypeTraits< T >::PointeeType

Pointee type.

Definition at line 578 of file type-traits.h.

◆ PointerToMemberTraits

template<typename T>
typedef PtrToMemberTraits<T> ns3::TypeTraits< T >::PointerToMemberTraits

Pointer to member traits type.

Definition at line 597 of file type-traits.h.

◆ PtrBaseType

template<typename T>
typedef PtrBase<T>::Type ns3::TypeTraits< T >::PtrBaseType

Ptr base type.

Definition at line 582 of file type-traits.h.

◆ ReferencedType

template<typename T>
typedef ReferenceTraits<T>::ReferencedType ns3::TypeTraits< T >::ReferencedType

Referenced type.

Definition at line 576 of file type-traits.h.

Member Enumeration Documentation

◆ anonymous enum

template<typename T>
anonymous enum

Predicates.

Enumerator
IsPointerToMember 

Pointer to member predicate.

IsPointer 

Pointer predicate.

IsPtr 

Ptr predicate.

IsReference 

Reference predicate.

IsFunctionPointer 

Function pointer predicate.

Definition at line 584 of file type-traits.h.


The documentation for this struct was generated from the following file: