openPMD-api
Public Member Functions | Protected Attributes | Friends | List of all members
openPMD::BaseRecordComponent Class Reference
Inheritance diagram for openPMD::BaseRecordComponent:
Inheritance graph
[legend]
Collaboration diagram for openPMD::BaseRecordComponent:
Collaboration graph
[legend]

Public Member Functions

double unitSI () const
 
BaseRecordComponentresetDatatype (Datatype)
 
Datatype getDatatype () const
 
bool constant () const
 Returns true if this is a constant record component. More...
 
ChunkTable availableChunks ()
 Get data chunks that are available to be loaded from the backend. More...
 
- Public Member Functions inherited from openPMD::AttributableInterface
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...
 
AttributableInterfacesetComment (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 Attributes

std::shared_ptr< Datasetm_dataset
 
std::shared_ptr< bool > m_isConstant
 
- Protected Attributes inherited from openPMD::LegacyAttributable
std::shared_ptr< internal::AttributableDatam_attributableData
 
- Protected Attributes inherited from openPMD::AttributableInterface
internal::AttributableDatam_attri = nullptr
 

Friends

template<typename T , typename T_key , typename T_container >
class Container
 

Additional Inherited Members

- Protected Types inherited from openPMD::AttributableInterface
enum  ReadMode { IgnoreExisting, OverrideExisting, FullyReread }
 
- Protected Member Functions inherited from openPMD::AttributableInterface
 AttributableInterface (internal::AttributableData *)
 
template<typename T >
 AttributableInterface (T *attri)
 
const internal::SeriesInternalretrieveSeries () const
 
internal::SeriesInternalretrieveSeries ()
 
void seriesFlush (FlushLevel)
 
void flushAttributes ()
 
void readAttributes (ReadMode)
 
template<typename 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...
 
AbstractIOHandlerIOHandler ()
 
const AbstractIOHandlerIOHandler () const
 
Writable *& parent ()
 
const Writableparent () const
 
Writablewritable ()
 
const Writablewritable () const
 
internal::AttributableDataget ()
 
const internal::AttributableDataget () const
 
bool dirty () const
 
bool & dirty ()
 
bool written () const
 
bool & written ()
 
const IterationcontainingIteration () const
 Returns the corresponding Iteration. More...
 
IterationcontainingIteration ()
 

Member Function Documentation

◆ availableChunks()

ChunkTable openPMD::BaseRecordComponent::availableChunks ( )

Get data chunks that are available to be loaded from the backend.

Note that this is backend-dependent information and the returned information may hence differ between different backends:

  • The ADIOS backends (versions 1 and 2) will return those chunks that the writer has originally written.
  • The JSON backend will reconstruct the chunks by iterating the dataset.
  • The HDF5 backend will return the whole dataset as one large chunk. HDF5's notion of chunking is currently ignored. (https://support.hdfgroup.org/HDF5/doc/Advanced/Chunking/)

The results depend solely on the backend and are independent of any openPMD-related information. Note that this call currently does not take into account the openPMD concept of particle patches, which users may additionally wish to use to store user-defined, backend-independent chunking information on particle datasets.

◆ constant()

bool openPMD::BaseRecordComponent::constant ( ) const

Returns true if this is a constant record component.

In a constant record component, the value for each date in its extent is the same.

Returns
true if a constant record component

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