|
| Branch (const std::string &branch_name, 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 () final override |
| Load a map from the input file. More...
|
|
void | attach (Reader &f) final override |
| pure virtual method for loading data from the input file More...
|
|
void | save () final override |
| Save a vector to the output file. More...
|
|
void | attach (Writer &f) final override |
| pure virtual method for saving structure More...
|
|
| AbstractBranch (const std::string &branch_name, std::map< KeyType, ValType > *handle=nullptr) |
| Define the dataset branch_name and provide an optional handle. More...
|
|
virtual | ~AbstractBranch () |
| 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...
|
|
std::map< KeyType, ValType > & | operator* () |
| Access the in-memory data object.
|
|
const std::map< KeyType, ValType > & | operator* () const |
| Access the in-memory data opbject in a const manner.
|
|
std::map< KeyType, ValType > * | operator-> () |
| Pointer access to the in-memory data type.
|
|
const std::map< KeyType, ValType > * | operator-> () const |
| Pointer access to the in-memory data type in a const manner.
|
|
| BaseBranch (const std::string &full_name) |
| define the full name of the branch
|
|
virtual | ~BaseBranch ()=default |
| virtual destructor so inherited classes can be properly destructed.
|
|
| BaseBranch (const BaseBranch &)=delete |
| no copying
|
|
BaseBranch & | operator= (const BaseBranch &)=delete |
| no copying
|
|
template<typename KeyType, typename ValType>
class hdtree::Branch< std::map< KeyType, ValType > >
Our wrapper around std::map.
Very similar implementation as vectors, just having two columns rather than only one.
- Note
- We assume the load/save is done sequentially. Similar rational as io::Branch<std::vector<ContentType>>
- Template Parameters
-
KeyType | type that the keys in the map are |
ValType | type that the vals in the map are |