CLHEP VERSION Reference Documentation
   
CLHEP Home Page     CLHEP Documentation     CLHEP Bug Reports

Classes | Macros | Typedefs | Enumerations | Functions
testPrimaryTraits.cc File Reference
#include "CLHEP/Utility/noncopyable.h"
#include "CLHEP/Utility/type_traits.h"
#include <cassert>

Go to the source code of this file.

Classes

struct  UDT
 
struct  POD_UDT
 
struct  empty_UDT
 
struct  empty_POD_UDT
 
union  union_UDT
 
union  POD_union_UDT
 
union  empty_union_UDT
 
union  empty_POD_union_UDT
 
struct  nothrow_copy_UDT
 
struct  nothrow_assign_UDT
 
struct  nothrow_construct_UDT
 
class  Base
 
class  Derived
 
class  Derived2
 
class  MultiBase
 
class  PrivateBase
 
class  NonDerived
 
struct  VB
 
struct  VD
 
struct  non_pointer
 
struct  non_int_pointer
 
struct  int_constructible
 
struct  int_convertible
 
struct  non_empty
 
struct  test_abc1
 
struct  test_abc2
 
struct  test_abc3
 
struct  polymorphic_base
 
struct  polymorphic_derived1
 
struct  polymorphic_derived2
 
struct  virtual_inherit1
 
struct  virtual_inherit2
 
struct  virtual_inherit3
 
struct  virtual_inherit4
 
struct  virtual_inherit5
 
struct  virtual_inherit6
 
struct  trivial_except_construct
 
struct  trivial_except_destroy
 
struct  trivial_except_copy
 
struct  trivial_except_assign
 
struct  wrap< T >
 
struct  convertible_to_pointer
 

Macros

#define claim_void(Type)   (is_void<Type>::value)
 
#define has_void_type(Type)   assert(claim_void(Type))
 
#define has_nonvoid_type(Type)   assert(!claim_void(Type))
 
#define claim_integral(Type)   (is_integral<Type>::value)
 
#define has_integral_type(Type)   assert(claim_integral(Type))
 
#define has_nonintegral_type(Type)   assert(!claim_integral(Type))
 
#define claim_floating(Type)   (is_floating_point<Type>::value)
 
#define has_floating_type(Type)   assert(claim_floating(Type))
 
#define has_nonfloating_type(Type)   assert(!claim_floating(Type))
 
#define claim_array(Type)   (is_array<Type>::value)
 
#define has_array_type(Type)   assert(claim_array(Type))
 
#define has_nonarray_type(Type)   assert(!claim_array(Type))
 
#define claim_ptr(Type)   (is_pointer<Type>::value)
 
#define has_ptr_type(Type)   assert(claim_ptr(Type))
 
#define has_nonptr_type(Type)   assert(!claim_ptr(Type))
 
#define claim_lref(Type)   (is_lvalue_reference<Type>::value)
 
#define has_lref_type(Type)   assert(claim_lref(Type))
 
#define has_nonlref_type(Type)   assert(!claim_lref(Type))
 
#define claim_ref(Type)   (is_reference<Type>::value)
 
#define has_ref_type(Type)   assert(claim_ref(Type))
 
#define has_nonref_type(Type)   assert(!claim_ref(Type))
 
#define lref(Type)   has_lref_type(Type); has_ref_type(Type);
 
#define nonref(Type)   has_nonlref_type(Type); has_nonref_type(Type);
 
#define claim_mbrobjptr(Type)   (is_member_object_pointer<Type>::value)
 
#define has_mbrobjptr_type(Type)   assert(claim_mbrobjptr(Type))
 
#define has_nonmbrobjptr_type(Type)   assert(!claim_mbrobjptr(Type))
 
#define claim_mbrfctnptr(Type)   (is_member_function_pointer<Type>::value)
 
#define has_mbrfctnptr_type(Type)   assert(claim_mbrfctnptr(Type))
 
#define has_nonmbrfctnptr_type(Type)   assert(!claim_mbrfctnptr(Type))
 
#define claim_enum(Type)   (is_enum<Type>::value)
 
#define has_enum_type(Type)   assert(claim_enum(Type))
 
#define has_nonenum_type(Type)   assert(!claim_enum(Type))
 

Typedefs

typedef void(* f1 )()
 
typedef int(* f2 )(int)
 
typedef int(* f3 )(int, bool)
 
typedef void(UDT::* mf1 )()
 
typedef int(UDT::* mf2 )()
 
typedef int(UDT::* mf3 )(int)
 
typedef int(UDT::* mf4 )(int, float)
 
typedef intUDT::* mp
 
typedef int(UDT::* cmf )(int) const
 
typedef int & r_type
 
typedef const r_type cr_type
 
typedef void foo0_t ()
 
typedef void foo1_t (int)
 
typedef void foo2_t (int &, double)
 
typedef void foo3_t (int &, bool, int, int)
 
typedef void foo4_t (int, bool, int *, int[], int, int, int, int, int)
 
typedef const doubleUDT::* mp2
 

Enumerations

enum  enum_UDT {
  one, two, three, one,
  two, three, one, two,
  three
}
 
enum  enum1 {
  one_, two_, one_, two_,
  one_, two_
}
 
enum  enum2 {
  three_, four_, three_, four_,
  three_, four_
}
 

Functions

int main ()
 

Macro Definition Documentation

#define claim_array (   Type)    (is_array<Type>::value)
#define claim_enum (   Type)    (is_enum<Type>::value)
#define claim_floating (   Type)    (is_floating_point<Type>::value)
#define claim_integral (   Type)    (is_integral<Type>::value)
#define claim_lref (   Type)    (is_lvalue_reference<Type>::value)
#define claim_mbrfctnptr (   Type)    (is_member_function_pointer<Type>::value)
#define claim_mbrobjptr (   Type)    (is_member_object_pointer<Type>::value)
#define claim_ptr (   Type)    (is_pointer<Type>::value)
#define claim_ref (   Type)    (is_reference<Type>::value)
#define claim_void (   Type)    (is_void<Type>::value)
#define has_array_type (   Type)    assert(claim_array(Type))

Referenced by main().

#define has_enum_type (   Type)    assert(claim_enum(Type))

Referenced by main().

#define has_floating_type (   Type)    assert(claim_floating(Type))

Referenced by main().

#define has_integral_type (   Type)    assert(claim_integral(Type))

Referenced by main().

#define has_lref_type (   Type)    assert(claim_lref(Type))
#define has_mbrfctnptr_type (   Type)    assert(claim_mbrfctnptr(Type))

Referenced by main().

#define has_mbrobjptr_type (   Type)    assert(claim_mbrobjptr(Type))

Referenced by main().

#define has_nonarray_type (   Type)    assert(!claim_array(Type))

Referenced by main().

#define has_nonenum_type (   Type)    assert(!claim_enum(Type))

Referenced by main().

#define has_nonfloating_type (   Type)    assert(!claim_floating(Type))

Referenced by main().

#define has_nonintegral_type (   Type)    assert(!claim_integral(Type))

Referenced by main().

#define has_nonlref_type (   Type)    assert(!claim_lref(Type))
#define has_nonmbrfctnptr_type (   Type)    assert(!claim_mbrfctnptr(Type))

Referenced by main().

#define has_nonmbrobjptr_type (   Type)    assert(!claim_mbrobjptr(Type))

Referenced by main().

#define has_nonptr_type (   Type)    assert(!claim_ptr(Type))

Referenced by main().

#define has_nonref_type (   Type)    assert(!claim_ref(Type))
#define has_nonvoid_type (   Type)    assert(!claim_void(Type))

Referenced by main().

#define has_ptr_type (   Type)    assert(claim_ptr(Type))

Referenced by main().

#define has_ref_type (   Type)    assert(claim_ref(Type))
#define has_void_type (   Type)    assert(claim_void(Type))

Referenced by main().

#define lref (   Type)    has_lref_type(Type); has_ref_type(Type);

Referenced by main().

#define nonref (   Type)    has_nonlref_type(Type); has_nonref_type(Type);

Referenced by main().

Typedef Documentation

typedef int(UDT::* cmf)(int) const

Definition at line 50 of file testPrimaryTraits.cc.

typedef const r_type cr_type

Definition at line 62 of file testPrimaryTraits.cc.

typedef void(* f1)()

Definition at line 42 of file testPrimaryTraits.cc.

typedef int(* f2)(int)

Definition at line 43 of file testPrimaryTraits.cc.

typedef int(* f3)(int, bool)

Definition at line 44 of file testPrimaryTraits.cc.

typedef void foo0_t()

Definition at line 213 of file testPrimaryTraits.cc.

typedef void foo1_t(int)

Definition at line 214 of file testPrimaryTraits.cc.

typedef void foo2_t(int &, double)

Definition at line 215 of file testPrimaryTraits.cc.

typedef void foo3_t(int &, bool, int, int)

Definition at line 216 of file testPrimaryTraits.cc.

typedef void foo4_t(int, bool, int *, int[], int, int, int, int, int)

Definition at line 217 of file testPrimaryTraits.cc.

typedef void(UDT::* mf1)()

Definition at line 45 of file testPrimaryTraits.cc.

typedef int(UDT::* mf2)()

Definition at line 46 of file testPrimaryTraits.cc.

typedef int(UDT::* mf3)(int)

Definition at line 47 of file testPrimaryTraits.cc.

typedef int(UDT::* mf4)(int, float)

Definition at line 48 of file testPrimaryTraits.cc.

typedef intUDT::* mp

Definition at line 49 of file testPrimaryTraits.cc.

typedef const doubleUDT::* mp2

Definition at line 259 of file testPrimaryTraits.cc.

typedef int& r_type

Definition at line 60 of file testPrimaryTraits.cc.

Enumeration Type Documentation

enum enum1
Enumerator
one_ 
two_ 
one_ 
two_ 
one_ 
two_ 

Definition at line 136 of file testPrimaryTraits.cc.

enum enum2
Enumerator
three_ 
four_ 
three_ 
four_ 
three_ 
four_ 

Definition at line 139 of file testPrimaryTraits.cc.

enum enum_UDT
Enumerator
one 
two 
three 
one 
two 
three 
one 
two 
three 

Definition at line 27 of file testPrimaryTraits.cc.

Function Documentation

int main ( )