13#ifndef XAOD_STANDALONE
40#define ASG_TOOL_INTERFACE(CLASSNAME) \
42 static const InterfaceID& interfaceID() { \
43 static const InterfaceID myid(#CLASSNAME, 1, 0 ); \
62#define ASG_TOOL_CLASS0(CLASSNAME) \
64 CLASSNAME(const std::string& type, const std::string& myname, const IInterface* parent) \
65: CLASSNAME(std::string(asg::ptrToString(parent))+"#"+type+"/"+myname) { \
68#define ASG_TOOL_CLASS(CLASSNAME, INT1) \
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); \
75#define ASG_TOOL_CLASS1 ASG_TOOL_CLASS
77#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2) \
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); \
85#define ASG_TOOL_CLASS3(CLASSNAME, INT1, INT2, INT3) \
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); \
96#define ASG_TOOL_INTERFACE(CLASSNAME)
97#define ASG_TOOL_CLASS(CLASSNAME, INT1)
98#define ASG_TOOL_CLASS0(CLASSNAME)
99#define ASG_TOOL_CLASS1(CLASSNAME, INT1)
100#define ASG_TOOL_CLASS2(CLASSNAME, INT1, INT2)
101#define ASG_TOOL_CLASS3(CLASSNAME, INT1, INT2, INT3)
std::string ptrToString(const void *p)