openPMD-api
|
Layer to manage storage of attributes associated with file objects. More...
#include <Attributable.hpp>
Classes | |
struct | MyPath |
String serialization to describe an Attributable. More... | |
Public Member Functions | |
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... | |
AttributableInterface & | setComment (std::string const &comment) |
Populate Attribute corresponding to a comment with the user-supplied comment. More... | |
void | seriesFlush () |
Flush the corresponding Series object. More... | |
MyPath | myPath () const |
The path to this object within its containing Series. More... | |
template<typename T > | |
bool | setAttribute (std::string const &key, T value) |
Populate Attribute of provided name with provided value. More... | |
bool | setAttribute (std::string const &key, char const value[]) |
Protected Types | |
enum | ReadMode { IgnoreExisting, OverrideExisting, FullyReread } |
Protected Member Functions | |
AttributableInterface (internal::AttributableData *) | |
template<typename T > | |
AttributableInterface (T *attri) | |
const internal::SeriesInternal & | retrieveSeries () const |
internal::SeriesInternal & | retrieveSeries () |
void | seriesFlush (FlushLevel) |
void | flushAttributes () |
void | readAttributes (ReadMode) |
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... | |
AbstractIOHandler * | IOHandler () |
const AbstractIOHandler * | IOHandler () const |
Writable *& | parent () |
const Writable * | parent () const |
Writable & | writable () |
const Writable & | writable () const |
internal::AttributableData & | get () |
const internal::AttributableData & | get () const |
bool | dirty () const |
bool & | dirty () |
bool | written () const |
bool & | written () |
const Iteration & | containingIteration () const |
Returns the corresponding Iteration. More... | |
Iteration & | containingIteration () |
Protected Attributes | |
internal::AttributableData * | m_attri = nullptr |
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 |
class | SeriesInterface |
class | Writable |
class | WriteIterations |
Writable * | getWritable (AttributableInterface *) |
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.
|
protected |
std::vector< std::string > openPMD::AttributableInterface::attributes | ( | ) | const |
List all currently stored Attributes' keys.
std::string openPMD::AttributableInterface::comment | ( | ) | const |
Retrieve a user-supplied comment associated with the object.
no_such_attribute_error | If no comment is currently stored. |
|
protected |
bool openPMD::AttributableInterface::containsAttribute | ( | std::string const & | key | ) | const |
bool openPMD::AttributableInterface::deleteAttribute | ( | std::string const & | key | ) |
Attribute openPMD::AttributableInterface::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. |
auto openPMD::AttributableInterface::myPath | ( | ) | const |
The path to this object within its containing Series.
size_t openPMD::AttributableInterface::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. |
void openPMD::AttributableInterface::seriesFlush | ( | ) |
|
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. |
AttributableInterface & openPMD::AttributableInterface::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. |