ATLAS Offline Software
Loading...
Searching...
No Matches
ClassTraits.h File Reference
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TrigDec::DirectAttached
struct  TrigDec::AncestorAttached
struct  TrigDec::ClassTraits< T >

Namespaces

namespace  TrigDec

Macros

#define SPECIALIZE_CONTAINER_FOR_CLASS(x, y)
#define DECLARE_ATTACHED_CONTAINER(x, y)
#define DECLARE_ATTACHED_CONTAINER_NAMESPACE(a, x, y)
#define DECLARE_ATTACHED_CONTAINER_OBJECT_NAMESPACE(a, x, y)
#define DECLARE_ATTACHED_CONTAINER_TYPEDEF(a, x, y)

Macro Definition Documentation

◆ DECLARE_ATTACHED_CONTAINER

#define DECLARE_ATTACHED_CONTAINER ( x,
y )
Value:
class x; \
class y; \
SPECIALIZE_CONTAINER_FOR_CLASS(x,y)
#define y
#define x

Definition at line 55 of file ClassTraits.h.

55#define DECLARE_ATTACHED_CONTAINER(x,y) \
56 class x; \
57 class y; \
58 SPECIALIZE_CONTAINER_FOR_CLASS(x,y)

◆ DECLARE_ATTACHED_CONTAINER_NAMESPACE

#define DECLARE_ATTACHED_CONTAINER_NAMESPACE ( a,
x,
y )
Value:
namespace a { \
class x; \
class y; \
} \
SPECIALIZE_CONTAINER_FOR_CLASS(a::x,a::y)
static Double_t a

Definition at line 63 of file ClassTraits.h.

63#define DECLARE_ATTACHED_CONTAINER_NAMESPACE(a,x,y) \
64 namespace a { \
65 class x; \
66 class y; \
67 } \
68 SPECIALIZE_CONTAINER_FOR_CLASS(a::x,a::y)

◆ DECLARE_ATTACHED_CONTAINER_OBJECT_NAMESPACE

#define DECLARE_ATTACHED_CONTAINER_OBJECT_NAMESPACE ( a,
x,
y )
Value:
namespace a { \
class x; \
} \
class y; \
SPECIALIZE_CONTAINER_FOR_CLASS(a::x,y)

Definition at line 73 of file ClassTraits.h.

73#define DECLARE_ATTACHED_CONTAINER_OBJECT_NAMESPACE(a,x,y) \
74 namespace a { \
75 class x; \
76 } \
77 class y; \
78 SPECIALIZE_CONTAINER_FOR_CLASS(a::x,y)

◆ DECLARE_ATTACHED_CONTAINER_TYPEDEF

#define DECLARE_ATTACHED_CONTAINER_TYPEDEF ( a,
x,
y )
Value:
namespace a { \
class x; \
} \
SPECIALZE_CONTAINER_FOR_CLASS(a::x, y)

Definition at line 83 of file ClassTraits.h.

83#define DECLARE_ATTACHED_CONTAINER_TYPEDEF(a, x, y) \
84 namespace a { \
85 class x; \
86 } \
87 SPECIALZE_CONTAINER_FOR_CLASS(a::x, y)

◆ SPECIALIZE_CONTAINER_FOR_CLASS

#define SPECIALIZE_CONTAINER_FOR_CLASS ( x,
y )
Value:
namespace TrigDec { \
template<> \
struct ClassTraits<x> { \
typedef y type; \
}; \
}

Definition at line 45 of file ClassTraits.h.

45#define SPECIALIZE_CONTAINER_FOR_CLASS(x,y) \
46 namespace TrigDec { \
47 template<> \
48 struct ClassTraits<x> { \
49 typedef y type; \
50 }; \
51 }