openPMD-api
|
Layer to manage storage of attributes associated with file objects. More...
#include <Attributable.hpp>
Public Member Functions | |
Attributable (Attributable const &) | |
Attributable (Attributable &&)=delete | |
Attributable & | operator= (Attributable const &) |
Attributable & | operator= (Attributable &&)=delete |
Attribute | getAttribute (std::string const &key) const |
Retrieve value of Attribute stored with provided key. More... | |
bool | deleteAttribute (std::string const &key) |
Remove Attribute of provided value both logically and physically. More... | |
std::vector< std::string > | attributes () const |
List all currently stored Attributes' keys. More... | |
size_t | numAttributes () const |
Count all currently stored Attributes. More... | |
bool | containsAttribute (std::string const &key) const |
Check whether am Attribute with a given key exists. More... | |
std::string | comment () const |
Retrieve a user-supplied comment associated with the object. More... | |
Attributable & | setComment (std::string const &comment) |
Populate Attribute corresponding to a comment with the user-supplied comment. More... | |
template<typename T > | |
bool | setAttribute (std::string const &key, T const &value) |
Populate Attribute of provided name with provided value. More... | |
bool | setAttribute (std::string const &key, char const value[]) |
Protected Member Functions | |
void | flushAttributes () |
void | readAttributes () |
template<typename T > | |
T | readFloatingpoint (std::string const &key) const |
Retrieve the value of a floating point Attribute of user-defined precision with ensured type-safety. More... | |
template<typename T > | |
std::vector< T > | readVectorFloatingpoint (std::string const &key) const |
Retrieve a vector of values of a floating point Attributes of user-defined precision with ensured type-safety. More... | |
bool & | dirty () const |
bool & | written () const |
Protected Attributes | |
std::shared_ptr< Writable > | m_writable |
AbstractFilePosition * | abstractFilePosition |
AbstractIOHandler * | IOHandler |
Writable * | parent |
Friends | |
template<typename T_elem > | |
class | BaseRecord |
template<typename T , typename T_key , typename T_container > | |
class | Container |
template<typename T > | |
struct | traits::GenerationPolicy |
class | Iteration |
class | Series |
Writable * | getWritable (Attributable *) |
Layer to manage storage of attributes associated with file objects.
Mandatory and user-defined Attributes and their data for every object in the openPMD hierarchy are stored and managed through this class.
std::vector< std::string > openPMD::Attributable::attributes | ( | ) | const |
List all currently stored Attributes' keys.
std::string openPMD::Attributable::comment | ( | ) | const |
Retrieve a user-supplied comment associated with the object.
no_such_attribute_error | If no comment is currently stored. |
bool openPMD::Attributable::containsAttribute | ( | std::string const & | key | ) | const |
bool openPMD::Attributable::deleteAttribute | ( | std::string const & | key | ) |
Attribute openPMD::Attributable::getAttribute | ( | std::string const & | key | ) | const |
Retrieve value of Attribute stored with provided key.
no_such_attribute_error | If no Attribute is currently stored with the provided key. |
key | Key (i.e. name) of the Attribute to retrieve value for. |
size_t openPMD::Attributable::numAttributes | ( | ) | const |
Count all currently stored Attributes.
|
inlineprotected |
Retrieve the value of a floating point Attribute of user-defined precision with ensured type-safety.
no_such_attribute_error | If no Attribute is currently stored with the provided key. |
T | Floating point type of user-defined precision to retrieve the value as. |
key | Key (i.e. name) of the floating-point Attribute to retrieve value for. |
|
inlineprotected |
Retrieve a vector of values of a floating point Attributes of user-defined precision with ensured type-safety.
no_such_attribute_error | If no Attribute is currently stored with the provided key. |
T | Floating point type of user-defined precision to retrieve the values as. |
key | Key (i.e. name) of the floating-point Attribute to retrieve values for. |
|
inline |
Populate Attribute of provided name with provided value.
T | Type of the object to be stored. Only types contained in Datatype can be handled. |
key | Key (i.e. name) to identify and store an Attributes value by. |
value | Value of Attribute stored with the provided key. |
Attributable & openPMD::Attributable::setComment | ( | std::string const & | comment | ) |
Populate Attribute corresponding to a comment with the user-supplied comment.
comment | String value to be stored as a comment. |