ATLAS Offline Software
Loading...
Searching...
No Matches
IdentifiableContainerBase.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_IDENTIFIABLECONTAINERBASE_H
7#define EVENTCONTAINERS_IDENTIFIABLECONTAINERBASE_H
10
11
15public:
17
18 typedef std::vector<IdentifierHash> Hash_Container;
20 IdentifiableContainerBase(size_t maxsize);
21 IdentifiableContainerBase(size_t maxsize, Mode mode);
23protected:
26 std::unique_ptr<I_InternalIDC> m_link;
27 std::vector<IdentifierHash> GetAllCurrentHashes() const { return m_link->getAllCurrentHashes(); }
28 bool insert(IdentifierHash hashId, const void* ptr) { return m_link->insert(hashId, ptr); }
29 void Wait() const { m_link->wait(); }
31 return m_link->tryAddFromCache(hashId, lock); }
32 bool tryAddFromCache(IdentifierHash hashId){ return m_link->tryAddFromCache(hashId); }
33 void cleanup(deleter_f* deleter);
34 size_t numberOfCollections() const { return m_link->numberOfCollections(); }
35 void ResetMask();
36 StatusCode fetchOrCreate(IdentifierHash hashId){ return m_link->fetchOrCreate(hashId); }
37 StatusCode fetchOrCreate(const std::vector<IdentifierHash> &hashIds) { return m_link->fetchOrCreate(hashIds); }
38 const void* indexFindPtr( IdentifierHash hashId ) const { return m_link->findIndexPtr(hashId); }
39};
40
41}
42
43
44#endif
Define macros for attributes used to control the static checker.
const void * indexFindPtr(IdentifierHash hashId) const
IdentifiableContainerBase(EventContainers::IdentifiableCacheBase *cache)
EventContainers::IdentifiableCacheBase IdentifiableCacheBase
StatusCode fetchOrCreate(const std::vector< IdentifierHash > &hashIds)
bool tryAddFromCache(IdentifierHash hashId, EventContainers::IDC_WriteHandleBase &lock)
bool insert(IdentifierHash hashId, const void *ptr)
std::vector< IdentifierHash > GetAllCurrentHashes() const
StatusCode fetchOrCreate(IdentifierHash hashId)
This is a "hash" representation of an Identifier.
void deleter_f(const void *p)
Definition deleter.h:13