00001
00002
00010 #ifndef ATHCONTAINERSINTERFACES_CLASS_AUXSTORE
00011 #define ATHCONTAINERSINTERFACES_CLASS_AUXSTORE 1
00012
00013
00019 #include "AthContainersInterfaces/AuxStore_traits.h"
00020 #include "AthContainersInterfaces/IAuxStore.h"
00021 #include "AthContainersInterfaces/IConstAuxStore.h"
00022
00023
00024 #define CLASS_AUXSTORE(DOBJ) \
00025 namespace SG { \
00026 template <> struct AuxStore_traits< DOBJ > { \
00027 typedef SG::IAuxStore type; \
00028 typedef SG::IConstAuxStore const_type; \
00029 static const std::string& typeName() { \
00030 static const std::string s_name = "SG::IAuxStore";\
00031 return s_name; \
00032 } \
00033 static const std::string& const_typeName() { \
00034 static const std::string s_name = "SG::IConstAuxStore"; \
00035 return s_name; \
00036 } \
00037 }; }
00038 #define CLASS_AUXSTORE3(DOBJ, AUXSTORE, CONSTAUXSTORE) \
00039 namespace SG { \
00040 template <> struct AuxStore_traits< DOBJ > { \
00041 typedef AUXSTORE type; \
00042 typedef CONSTAUXSTORE const_type; \
00043 static const std::string& typeName() { \
00044 static const std::string s_name = #AUXSTORE; \
00045 return s_name; \
00046 } \
00047 static const std::string& const_typeName() { \
00048 static const std::string s_name = #CONSTAUXSTORE; \
00049 return s_name; \
00050 } \
00051 }; }
00052
00053
00054 #endif // not ATHCONTAINERSINTERFACES_CLASS_AUXSTORE