fire v0.19.0
Framework for sImulation and Reconstruction of Events
|
Our wrapper around std::map. More...
#include <Data.h>
Public Member Functions | |
Data (const std::string &path, Reader *input_file=nullptr, std::map< KeyType, ValType > *handle=nullptr) | |
We create three child data sets, one for the successive sizes of the maps and two to hold all the keys and values serially. More... | |
void | load (h5::Reader &f) final override |
Load a map from the input file. More... | |
void | save (Writer &f) final override |
Save a vector to the output file. More... | |
void | structure (Writer &f) final override |
pure virtual method for saving structure More... | |
Public Member Functions inherited from fire::io::AbstractData< std::map< KeyType, ValType > > | |
AbstractData (const std::string &path, Reader *input_file=nullptr, std::map< KeyType, ValType > *handle=nullptr) | |
Define the dataset path and provide an optional handle. More... | |
virtual | ~AbstractData () |
Delete our object if we own it, otherwise do nothing. More... | |
virtual void | clear () |
Define the clear function here to handle the most common cases. More... | |
virtual const std::map< KeyType, ValType > & | get () const |
Get the current in-memory data. More... | |
int | version () const |
Get the version number for the type we are loading from. More... | |
virtual void | update (const std::map< KeyType, ValType > &val) |
Update the in-memory data object with the passed value. More... | |
Public Member Functions inherited from fire::io::BaseData | |
BaseData (const std::string &path) | |
Define the full in-file path to the data set of this data. More... | |
virtual | ~BaseData ()=default |
virtual destructor so inherited classes can be properly destructed. | |
Private Member Functions | |
fire_class_version (1) | |
Private Attributes | |
Data< std::size_t > | size_ |
the data set of sizes of the vectors | |
Data< KeyType > | keys_ |
the data set holding the content of all the keys | |
Data< ValType > | vals_ |
the data set holding the content of all the vals | |
Additional Inherited Members | |
Protected Attributes inherited from fire::io::AbstractData< std::map< KeyType, ValType > > | |
std::optional< std::pair< std::string, int > > | load_type_ |
type this data is loading from | |
std::pair< std::string, int > | save_type_ |
type this data that is being used to write | |
std::map< KeyType, ValType > * | handle_ |
handle on current object in memory | |
bool | owner_ |
we own the object in memory | |
Protected Attributes inherited from fire::io::BaseData | |
std::string | path_ |
path of data set | |
Our wrapper around std::map.
Very similar implementation as vectors, just having two columns rather than only one.
KeyType | type that the keys in the map are |
ValType | type that the vals in the map are |
|
inlineexplicit |
We create three child data sets, one for the successive sizes of the maps and two to hold all the keys and values serially.
[in] | path | full in-file path to set holding this data |
[in] | handle | pointer to object already constructed (optional) |
|
inlinefinaloverridevirtual |
Load a map from the input file.
We read the next size and then read that many items from the keys/vals data sets into the map handle.
[in] | f | h5::Reader to load from |
Implements fire::io::AbstractData< std::map< KeyType, ValType > >.
|
inlinefinaloverridevirtual |
Save a vector to the output file.
We write the size and the keys/vals onto the end of their data sets.
[in] | f | io::Writer to save to |
Implements fire::io::AbstractData< std::map< KeyType, ValType > >.
|
inlinefinaloverridevirtual |
pure virtual method for saving structure
[in] | f | Writer to write to |
Implements fire::io::AbstractData< std::map< KeyType, ValType > >.