openPMD-api
 
Loading...
Searching...
No Matches
openPMD::BaseRecordComponent Class Reference
Inheritance diagram for openPMD::BaseRecordComponent:
openPMD::Attributable openPMD::RecordComponent openPMD::BaseRecord< RecordComponent > openPMD::MeshRecordComponent openPMD::PatchRecordComponent openPMD::Record openPMD::BaseRecord< MeshRecordComponent > openPMD::BaseRecord< PatchRecordComponent > openPMD::Mesh openPMD::PatchRecord

Public Member Functions

 BaseRecordComponent (BaseRecordComponent const &other)
 
 BaseRecordComponent (BaseRecordComponent &&other)
 
BaseRecordComponentoperator= (BaseRecordComponent const &other)
 
BaseRecordComponentoperator= (BaseRecordComponent &&other)
 
double unitSI () const
 
BaseRecordComponentresetDatatype (Datatype)
 
Datatype getDatatype () const
 
bool constant () const
 Returns true if this is a constant record component.
 
std::optional< size_t > joinedDimension () const
 
ChunkTable availableChunks ()
 Get data chunks that are available to be loaded from the backend.
 
- Public Member Functions inherited from openPMD::Attributable
 Attributable (NoInit) noexcept
 
Attribute getAttribute (std::string const &key) const
 Retrieve value of Attribute stored with provided key.
 
bool deleteAttribute (std::string const &key)
 Remove Attribute of provided value both logically and physically.
 
std::vector< std::string > attributes () const
 List all currently stored Attributes' keys.
 
size_t numAttributes () const
 Count all currently stored Attributes.
 
bool containsAttribute (std::string const &key) const
 Check whether am Attribute with a given key exists.
 
std::string comment () const
 Retrieve a user-supplied comment associated with the object.
 
AttributablesetComment (std::string const &comment)
 Populate Attribute corresponding to a comment with the user-supplied comment.
 
void seriesFlush (std::string backendConfig="{}")
 Flush the corresponding Series object.
 
void iterationFlush (std::string backendConfig="{}")
 Flush the containing Iteration.
 
MyPath myPath () const
 The path to this object within its containing Series.
 
void touch ()
 Sets the object dirty to make internal procedures think it has been modified.
 
OpenpmdStandard openPMDStandard () const
 
template<typename T>
bool setAttribute (std::string const &key, T value)
 Populate Attribute of provided name with provided value.
 
bool setAttribute (std::string const &key, char const value[])
 

Protected Types

using Data_t = internal::BaseRecordComponentData
 
- Protected Types inherited from openPMD::Attributable
enum  ReadMode { IgnoreExisting , OverrideExisting , FullyReread }
 
enum class  EnqueueAsynchronously : bool { Yes , No }
 
using Data_t = internal::AttributableData
 

Protected Member Functions

Data_t const & get () const
 
Data_tget ()
 
void setData (std::shared_ptr< Data_t > data)
 
virtual void setDatasetDefined (Data_t &)
 
bool datasetDefined () const
 
 BaseRecordComponent (NoInit)
 
- Protected Member Functions inherited from openPMD::Attributable
Series retrieveSeries () const
 
template<bool flush_entire_series>
void seriesFlush_impl (internal::FlushParams const &)
 
void flushAttributes (internal::FlushParams const &)
 
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.
 
template<typename T>
std::vector< TreadVectorFloatingpoint (std::string const &key) const
 Retrieve a vector of values of a floating point Attributes of user-defined precision with ensured type-safety.
 
AbstractIOHandlerIOHandler ()
 
AbstractIOHandler const * IOHandler () const
 
Writable *& parent ()
 
Writable const * parent () const
 
Writablewritable ()
 
Writable const & writable () const
 
void setData (std::shared_ptr< internal::AttributableData > attri)
 
internal::SharedAttributableDataget ()
 
internal::SharedAttributableData const & get () const
 
bool dirty () const
 
bool dirtyRecursive () const
 O(1).
 
void setDirty (bool dirty_in)
 
void setDirtyRecursive (bool dirty_in)
 
bool written () const
 
void setWritten (bool val, EnqueueAsynchronously)
 
auto containingIteration () const -> std::pair< std::optional< internal::IterationData const * >, internal::SeriesData const * >
 Returns the corresponding Iteration.
 
auto containingIteration () -> std::pair< std::optional< internal::IterationData * >, internal::SeriesData * >
 

Protected Attributes

std::shared_ptr< Data_tm_baseRecordComponentData
 
- Protected Attributes inherited from openPMD::Attributable
std::shared_ptr< Data_tm_attri
 

Friends

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

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: