![]() |
ATLAS Offline Software
|
Flag that a class may have auxiliary data associated with it. More...
#include <IAuxElement.h>
Public Member Functions | |
IAuxElement () | |
Default constructor. More... | |
IAuxElement (size_t index) | |
Constructor. More... | |
size_t | index () const |
Return the index of this element within its container. More... | |
Protected Member Functions | |
bool | noPrivateData () const |
True if this element has no private data. More... | |
bool | havePrivateData () const |
True if this element currently has private data. More... | |
bool | hadPrivateData () const |
True if this element had private data before it was added to its current container. More... | |
Private Types | |
enum | PrivateStoreState : uint8_t { PrivateStoreState::NO_PRIVATE = 0, PrivateStoreState::HAVE_PRIVATE = 1, PrivateStoreState::HAD_PRIVATE = 2 } |
The current private data state. More... | |
Private Member Functions | |
void | setIndex (size_t index) |
Set the index of this element within its container. More... | |
void | setNoPrivateData () |
Record that this element does not have private data. More... | |
void | setHavePrivateData () |
Record that this element currently has private data. More... | |
void | setHadPrivateData () |
Record that this element used to have private data. More... | |
Private Attributes | |
size_t | m_index |
The index of this element within its container. More... | |
PrivateStoreState | m_privateStoreState |
Friends | |
class | SG::ConstAuxElement |
class | SG::AuxElement |
Flag that a class may have auxiliary data associated with it.
This this class really exists only to flag that a class may have auxiliary data associated with it. SG::AuxElement
derives from this, but one should use this class for tests rather than SG::AuxElement
to avoid dependency issues.
This is an ‘interface’ in the sense that it identifies a group of classes, but it defines no functionality itself. In fact, this class should not have a virtual table.
It turns out, however, that ROOT's branch splitting in TBranchElement can get confused in the case of an empty base class deriving from another base class. We can work around this by moving some of the data members from AuxElement here (even though they are transient).
Definition at line 50 of file IAuxElement.h.
|
strongprivate |
The current private data state.
Enumerator | |
---|---|
NO_PRIVATE | |
HAVE_PRIVATE | |
HAD_PRIVATE |
Definition at line 131 of file IAuxElement.h.
SG::IAuxElement::IAuxElement | ( | ) |
Default constructor.
For an element not in a container.
SG::IAuxElement::IAuxElement | ( | size_t | index | ) |
Constructor.
index | The index of this element in its container. |
|
protected |
True if this element had private data before it was added to its current container.
|
protected |
True if this element currently has private data.
size_t SG::IAuxElement::index | ( | ) | const |
Return the index of this element within its container.
|
protected |
True if this element has no private data.
|
private |
Record that this element used to have private data.
|
private |
Record that this element currently has private data.
|
private |
Set the index of this element within its container.
|
private |
Record that this element does not have private data.
|
friend |
Definition at line 99 of file IAuxElement.h.
|
friend |
Definition at line 98 of file IAuxElement.h.
|
private |
The index of this element within its container.
Should be 0 if this object is not within a container.
Definition at line 128 of file IAuxElement.h.
|
private |
Definition at line 137 of file IAuxElement.h.