ATLAS Offline Software
Loading...
Searching...
No Matches
APRTest::AuxStore Class Referenceabstract

#include <AuxStoreTest.h>

Inheritance diagram for APRTest::AuxStore:
Collaboration diagram for APRTest::AuxStore:

Public Member Functions

virtual ~AuxStore ()
virtual void setStore (IAuxStore *store) override
virtual void * getData (SG::auxid_t auxid, size_t size, size_t capacity) override
virtual const void * getData (SG::auxid_t auxid) const override
virtual IAuxStore * getStore () override
 Return the pointer to the store object currently in use.
virtual const IAuxStore * getStore () const override
virtual AuxStoreType getStoreType () const override
 Return the type of the store object.
virtual size_t size () const override

Public Attributes

int m_data = 0

Private Types

enum  AuxStoreType { AST_ObjectStore = 0 , AST_ContainerStore = 1 }
 Type of the auxiliary store. More...

Private Member Functions

virtual void setStore (IAuxStore *store)=0
 Give an auxiliary store object to the holder object.

Private Attributes

IAuxStore * m_extra_store = 0

Detailed Description

Definition at line 16 of file AuxStoreTest.h.

Member Enumeration Documentation

◆ AuxStoreType

Type of the auxiliary store.

In the xAOD EDM we use auxiliary store objects in some cases to describe a single object, and in most cases to describe a container of objects. This enumeration declares which type the object implementing this interface is.

Enumerator
AST_ObjectStore 

The store describes a single object.

AST_ContainerStore 

The store describes a container.

Definition at line 66 of file IAuxStoreHolder.h.

66 {
67 AST_ObjectStore = 0,
69 };
@ AST_ContainerStore
The store describes a container.
@ AST_ObjectStore
The store describes a single object.

Constructor & Destructor Documentation

◆ ~AuxStore()

virtual APRTest::AuxStore::~AuxStore ( )
inlinevirtual

Definition at line 22 of file AuxStoreTest.h.

22{}

Member Function Documentation

◆ getData() [1/2]

const void * APRTest::AuxStore::getData ( SG::auxid_t auxid) const
inlineoverridevirtual

Definition at line 53 of file AuxStoreTest.h.

54 {
55 return m_extra_store? m_extra_store->getData( auxid)
56 : SG::AuxStoreInternal::getData( auxid);
57 }
IAuxStore * m_extra_store

◆ getData() [2/2]

void * APRTest::AuxStore::getData ( SG::auxid_t auxid,
size_t size,
size_t capacity )
inlineoverridevirtual

Definition at line 46 of file AuxStoreTest.h.

47 {
48 return m_extra_store? m_extra_store->getData( auxid, size, capacity)
49 : SG::AuxStoreInternal::getData( auxid, size, capacity);
50 }
virtual size_t size() const override

◆ getStore() [1/2]

virtual const IAuxStore * APRTest::AuxStore::getStore ( ) const
inlineoverridevirtual

Implements SG::IAuxStoreHolder.

Definition at line 35 of file AuxStoreTest.h.

35{ return static_cast<const IAuxStore*>(this); }

◆ getStore() [2/2]

virtual IAuxStore * APRTest::AuxStore::getStore ( )
inlineoverridevirtual

Return the pointer to the store object currently in use.

There's not much use case for this function yet, but it makes the interface complete at least.

Implements SG::IAuxStoreHolder.

Definition at line 34 of file AuxStoreTest.h.

34{ return static_cast<IAuxStore*>(this); }

◆ getStoreType()

virtual AuxStoreType APRTest::AuxStore::getStoreType ( ) const
inlineoverridevirtual

Return the type of the store object.

See also
AuxStoreType

Implements SG::IAuxStoreHolder.

Definition at line 37 of file AuxStoreTest.h.

37{ return AST_ContainerStore; }

◆ setStore() [1/2]

virtual void APRTest::AuxStore::setStore ( IAuxStore * store)
inlineoverridevirtual

Definition at line 25 of file AuxStoreTest.h.

25 {
27 }
TestStore store
Definition TestStore.cxx:23

◆ setStore() [2/2]

virtual void SG::IAuxStoreHolder::setStore ( IAuxStore * store)
pure virtualinherited

Give an auxiliary store object to the holder object.

The purpose of this function is to give an alternate store object to this object instead of the one it uses normally.

Parameters
storePointer to an object implementing direct ROOT I/O

Implemented in xAOD::AuxContainerBase, xAOD::AuxInfoBase, and xAOD::ShallowAuxContainer.

◆ size()

virtual size_t APRTest::AuxStore::size ( ) const
inlineoverridevirtual

Definition at line 39 of file AuxStoreTest.h.

40 { return m_extra_store ? m_extra_store->size() : SG::AuxStoreInternal::size(); }

Member Data Documentation

◆ m_data

int APRTest::AuxStore::m_data = 0

Definition at line 20 of file AuxStoreTest.h.

◆ m_extra_store

IAuxStore* APRTest::AuxStore::m_extra_store = 0
private

Definition at line 18 of file AuxStoreTest.h.


The documentation for this class was generated from the following file: