 |
ATLAS Offline Software
|
Loading...
Searching...
No Matches
Go to the documentation of this file.
8#ifndef XAODCORE_AUXSTOREACCESSORMACROS_H
9#define XAODCORE_AUXSTOREACCESSORMACROS_H
36#define AUXSTORE_PRIMITIVE_SETTER_AND_GETTER(CL, TYPE, NAME, \
38 TYPE CL::NAME() const { \
39 static const SG::Accessor< TYPE > acc( #NAME ); \
40 return acc( *this ); \
42 void CL::SETTER( TYPE value ) { \
43 static const SG::Accessor< TYPE > acc( #NAME ); \
44 acc( *this ) = value; \
59#define AUXSTORE_PRIMITIVE_GETTER(CL, TYPE, NAME ) \
60 TYPE CL::NAME() const { \
61 static const SG::Accessor< TYPE > acc( #NAME ); \
62 return acc( *this ); \
88#define AUXSTORE_OBJECT_SETTER_AND_GETTER(CL, TYPE, NAME, SETTER) \
89 AUXSTORE_OBJECT_SETTER_AND_GETTER_VARNAME(CL, TYPE, NAME, SETTER, NAME)
117#define AUXSTORE_OBJECT_SETTER_AND_GETTER_VARNAME(CL, TYPE, NAME, SETTER, VARNAME) \
118 AUXSTORE_OBJECT_GETTER_VARNAME(CL, TYPE, NAME, VARNAME) \
119 void CL::SETTER( typename SG::Accessor< TYPE >::rhs_const_reference_type value ) { \
120 static const SG::Accessor< TYPE > acc( #VARNAME ); \
121 acc( *this ) = value; \
138# define AUXSTORE_OBJECT_MOVE(CL, TYPE, NAME, SETTER) \
139 void CL::SETTER( typename SG::AuxDataTraits<TYPE>::element_type&& value ) { \
140 static const SG::Accessor< TYPE > acc( #NAME ); \
141 acc( *this ) = std::move(value); \
165#define AUXSTORE_OBJECT_GETTER(CL, TYPE, NAME ) \
166 AUXSTORE_OBJECT_GETTER_VARNAME(CL, TYPE, NAME, NAME)
189#define AUXSTORE_OBJECT_GETTER_VARNAME(CL, TYPE, NAME, VARNAME) \
190 typename SG::ConstAccessor< TYPE >::const_reference_type CL::NAME() const { \
191 static const SG::ConstAccessor< TYPE > acc( #VARNAME ); \
192 return acc( *this ); \
209#define AUXSTORE_PRIMITIVE_GETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, \
211 TRANSTYPE CL::NAME() const { \
212 static const SG::Accessor< PERSTYPE > acc( #NAME ); \
213 return static_cast< TRANSTYPE >( acc( *this ) ); \
230#define AUXSTORE_PRIMITIVE_SETTER_WITH_CAST(CL, PERSTYPE, TRANSTYPE, \
232 void CL::SETTER( TRANSTYPE value ) { \
233 static const SG::Accessor< PERSTYPE > acc( #NAME ); \
234 acc( *this ) = static_cast< PERSTYPE >( value ); \