ATLAS Offline Software
IIdentifiableCont.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 
6 #ifndef EVENTCONTAINERS_IIDENTIFIABLECONT_H
7 #define EVENTCONTAINERS_IIDENTIFIABLECONT_H
9 #include <memory>
10 
11 namespace EventContainers {
12 template <class T>
14 
15 public:
16  virtual const T* indexFindPtr( IdentifierHash hashId ) const = 0;
17 
18  virtual std::vector<IdentifierHash> GetAllCurrentHashes() const =0;
19 
20  virtual StatusCode addOrDelete(std::unique_ptr<T> ptr, IdentifierHash hashId) =0;
21  virtual StatusCode addOrDelete(std::unique_ptr<const T> ptr, IdentifierHash hashId) =0;
22 
23  virtual size_t fullSize() const =0;
24 
25  virtual size_t numberOfCollections() const =0;
26 
27  virtual bool tryAddFromCache(IdentifierHash hashId) = 0;
28 
29  virtual bool hasExternalCache() const =0;
30 
31  virtual StatusCode naughtyRetrieve(IdentifierHash hashId, T* &collToRetrieve)const =0;
32 
33  virtual StatusCode addCollection(const T* coll, IdentifierHash hashId) =0;
34 
35  virtual void cleanup() = 0;
36 };
37 }
38 #endif
39 
EventContainers::IIdentifiableCont::tryAddFromCache
virtual bool tryAddFromCache(IdentifierHash hashId)=0
EventContainers
Definition: T_AthenaPoolCreateFuncs.h:33
dbg::ptr
void * ptr(T *p)
Definition: SGImplSvc.cxx:74
EventContainers::IIdentifiableCont::addOrDelete
virtual StatusCode addOrDelete(std::unique_ptr< T > ptr, IdentifierHash hashId)=0
EventContainers::IIdentifiableCont
Definition: IIdentifiableCont.h:13
EventContainers::IIdentifiableCont::GetAllCurrentHashes
virtual std::vector< IdentifierHash > GetAllCurrentHashes() const =0
EventContainers::IIdentifiableCont::indexFindPtr
virtual const T * indexFindPtr(IdentifierHash hashId) const =0
EventContainers::IIdentifiableCont::cleanup
virtual void cleanup()=0
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
EventContainers::IIdentifiableCont::numberOfCollections
virtual size_t numberOfCollections() const =0
EventContainers::IIdentifiableCont::fullSize
virtual size_t fullSize() const =0
EventContainers::IIdentifiableCont::addOrDelete
virtual StatusCode addOrDelete(std::unique_ptr< const T > ptr, IdentifierHash hashId)=0
EventContainers::IIdentifiableCont::addCollection
virtual StatusCode addCollection(const T *coll, IdentifierHash hashId)=0
IdentifierHash.h
EventContainers::IIdentifiableCont::hasExternalCache
virtual bool hasExternalCache() const =0
EventContainers::IIdentifiableCont::naughtyRetrieve
virtual StatusCode naughtyRetrieve(IdentifierHash hashId, T *&collToRetrieve) const =0
IdentifierHash
This is a "hash" representation of an Identifier. This encodes a 32 bit index which can be used to lo...
Definition: IdentifierHash.h:25