Belle II Software  release-08-01-10
DataStore::SwitchableDataStoreContents Class Reference

Encapsulates DataStoreContents, but allows transparently switching between different versions ('DataStore IDs'). More...

Collaboration diagram for DataStore::SwitchableDataStoreContents:

Public Member Functions

void clear ()
 same as calling reset() for all durabilities + all non-default datastore IDs are removed.
 
void reset (EDurability durability)
 Frees memory occupied by data store items and removes all objects from the map.
 
void invalidateData (EDurability durability)
 Clears all registered StoreEntry objects of a specified durability, invalidating all objects.
 
const StoreEntryMapoperator[] (int durability) const
 Get StoreEntry map for given durability (and current DataStore ID).
 
StoreEntryMapoperator[] (int durability)
 Get StoreEntry map for given durability (and current DataStore ID).
 
void switchID (const std::string &id)
 switch to DataStore with given ID.
 
const std::string & currentID () const
 returns ID of current DataStore.
 
void copyEntriesTo (const std::string &id, const std::vector< std::string > &entrylist_event={}, bool mergeEntries=false)
 copy entries (not contents) of current DataStore to the DataStore with given ID.
 
void copyContentsTo (const std::string &id, const std::vector< std::string > &entrylist_event={})
 copy contents (actual array / object contents) of current DataStore to the DataStore with given ID.
 
void mergeContentsTo (const std::string &id, const std::vector< std::string > &entrylist_event={})
 merge contents (actual array / object contents) of current DataStore to the DataStore with given ID.
 
void createNewDataStoreID (const std::string &id)
 creates new datastore with given id, copying the registered objects/arrays from the current one.
 
void createEmptyDataStoreID (const std::string &id)
 creates empty datastore with given id.
 

Private Attributes

std::vector< DataStoreContentsm_entries
 wrapped DataStoreContents.
 
std::map< std::string, int > m_idToIndexMap
 Maps DataStore ID to index in m_entries.
 
std::string m_currentID = ""
 currently active DataStore ID.
 
int m_currentIdx = 0
 index of currently active DataStore.
 

Detailed Description

Encapsulates DataStoreContents, but allows transparently switching between different versions ('DataStore IDs').

Accessed only through operator[].

Definition at line 581 of file DataStore.h.


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