ATLAS Offline Software
Loading...
Searching...
No Matches
AsgToolMacros.h File Reference
#include <string>
Include dependency graph for AsgToolMacros.h:

Go to the source code of this file.

Namespaces

namespace  asg

Macros

#define ASG_TOOL_INTERFACE(CLASSNAME)
#define ASG_TOOL_CLASS0(CLASSNAME)
#define ASG_TOOL_CLASS(CLASSNAME, INT1)
#define ASG_TOOL_CLASS1   ASG_TOOL_CLASS
#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
#define ASG_TOOL_CLASS3(CLASSNAME, INT1, INT2, INT3)

Functions

std::string asg::ptrToString (const void *p)

Macro Definition Documentation

◆ ASG_TOOL_CLASS

#define ASG_TOOL_CLASS ( CLASSNAME,
INT1 )
Value:
public: \
CLASSNAME(const std::string& type, const std::string& myname, const IInterface* parent) \
: CLASSNAME(std::string(asg::ptrToString(parent))+"#"+type+"/"+myname) { \
declareInterface<INT1>(this); \
}
std::string ptrToString(const void *p)

Definition at line 68 of file AsgToolMacros.h.

68#define ASG_TOOL_CLASS(CLASSNAME, INT1) \
69public: \
70 CLASSNAME(const std::string& type, const std::string& myname, const IInterface* parent) \
71: CLASSNAME(std::string(asg::ptrToString(parent))+"#"+type+"/"+myname) { \
72 declareInterface<INT1>(this); \
73 }

◆ ASG_TOOL_CLASS0

#define ASG_TOOL_CLASS0 ( CLASSNAME)
Value:
public: \
CLASSNAME(const std::string& type, const std::string& myname, const IInterface* parent) \
: CLASSNAME(std::string(asg::ptrToString(parent))+"#"+type+"/"+myname) { \
}

Definition at line 62 of file AsgToolMacros.h.

62#define ASG_TOOL_CLASS0(CLASSNAME) \
63public: \
64 CLASSNAME(const std::string& type, const std::string& myname, const IInterface* parent) \
65: CLASSNAME(std::string(asg::ptrToString(parent))+"#"+type+"/"+myname) { \
66 }

◆ ASG_TOOL_CLASS1

#define ASG_TOOL_CLASS1   ASG_TOOL_CLASS

Definition at line 75 of file AsgToolMacros.h.

◆ ASG_TOOL_CLASS2

#define ASG_TOOL_CLASS2 ( CLASSNAME,
INT1,
INT2 )
Value:
public: \
CLASSNAME(const std::string& type, const std::string& myname, const IInterface* parent) \
: CLASSNAME(std::string(asg::ptrToString(parent))+"#"+type+"/"+myname) { \
declareInterface<INT1>(this); \
declareInterface<INT2>(this); \
}

Definition at line 77 of file AsgToolMacros.h.

77#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2) \
78public: \
79 CLASSNAME(const std::string& type, const std::string& myname, const IInterface* parent) \
80: CLASSNAME(std::string(asg::ptrToString(parent))+"#"+type+"/"+myname) { \
81 declareInterface<INT1>(this); \
82 declareInterface<INT2>(this); \
83 }

◆ ASG_TOOL_CLASS3

#define ASG_TOOL_CLASS3 ( CLASSNAME,
INT1,
INT2,
INT3 )
Value:
public: \
CLASSNAME(const std::string& type, const std::string& myname, const IInterface* parent) \
: CLASSNAME(std::string(asg::ptrToString(parent))+"#"+type+"/"+myname) { \
declareInterface<INT1>(this); \
declareInterface<INT2>(this); \
declareInterface<INT3>(this); \
}

Definition at line 85 of file AsgToolMacros.h.

85#define ASG_TOOL_CLASS3(CLASSNAME, INT1, INT2, INT3) \
86public: \
87 CLASSNAME(const std::string& type, const std::string& myname, const IInterface* parent) \
88: CLASSNAME(std::string(asg::ptrToString(parent))+"#"+type+"/"+myname) { \
89 declareInterface<INT1>(this); \
90 declareInterface<INT2>(this); \
91 declareInterface<INT3>(this); \
92 }

◆ ASG_TOOL_INTERFACE

#define ASG_TOOL_INTERFACE ( CLASSNAME)
Value:
public: \
static const InterfaceID& interfaceID() { \
static const InterfaceID myid(#CLASSNAME, 1, 0 ); \
return myid; \
}

Definition at line 40 of file AsgToolMacros.h.

40#define ASG_TOOL_INTERFACE(CLASSNAME) \
41public: \
42 static const InterfaceID& interfaceID() { \
43 static const InterfaceID myid(#CLASSNAME, 1, 0 ); \
44 return myid; \
45 }