Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
openPMD::BaseRecord< T_elem > Class Template Referenceabstract
Inheritance diagram for openPMD::BaseRecord< T_elem >:
Inheritance graph
Collaboration diagram for openPMD::BaseRecord< T_elem >:
Collaboration graph

Public Types

using key_type = typename Container< T_elem >::key_type
using mapped_type = typename Container< T_elem >::mapped_type
using value_type = typename Container< T_elem >::value_type
using size_type = typename Container< T_elem >::size_type
using difference_type = typename Container< T_elem >::difference_type
using allocator_type = typename Container< T_elem >::allocator_type
using reference = typename Container< T_elem >::reference
using const_reference = typename Container< T_elem >::const_reference
using pointer = typename Container< T_elem >::pointer
using const_pointer = typename Container< T_elem >::const_pointer
using iterator = typename Container< T_elem >::iterator
using const_iterator = typename Container< T_elem >::const_iterator
- Public Types inherited from openPMD::Container< T_elem >
using key_type = typename InternalContainer::key_type
using mapped_type = typename InternalContainer::mapped_type
using value_type = typename InternalContainer::value_type
using size_type = typename InternalContainer::size_type
using difference_type = typename InternalContainer::difference_type
using allocator_type = typename InternalContainer::allocator_type
using reference = typename InternalContainer::reference
using const_reference = typename InternalContainer::const_reference
using pointer = typename InternalContainer::pointer
using const_pointer = typename InternalContainer::const_pointer
using iterator = typename InternalContainer::iterator
using const_iterator = typename InternalContainer::const_iterator

Public Member Functions

 BaseRecord (BaseRecord const &b)
BaseRecordoperator= (BaseRecord const &b)
mapped_type & operator[] (key_type const &key) override
mapped_type & operator[] (key_type &&key) override
size_type erase (key_type const &key) override
iterator erase (iterator res) override
std::array< double, 7 > unitDimension () const
 Return the physical dimension (quantity) of a record. More...
bool scalar () const
 Returns true if this record only contains a single component. More...
BaseRecord< RecordComponent >::mapped_type & operator[] (std::string &&key)
- Public Member Functions inherited from openPMD::Container< T_elem >
 Container (Container const &)=default
iterator begin () noexcept
const_iterator begin () const noexcept
const_iterator cbegin () const noexcept
iterator end () noexcept
const_iterator end () const noexcept
const_iterator cend () const noexcept
bool empty () const noexcept
size_type size () const noexcept
void clear ()
 Remove all objects from the container and (if written) from disk. More...
std::pair< iterator, bool > insert (value_type const &value)
std::pair< iterator, bool > insert (P &&value)
iterator insert (const_iterator hint, value_type const &value)
iterator insert (const_iterator hint, P &&value)
void insert (InputIt first, InputIt last)
void insert (std::initializer_list< value_type > ilist)
void swap (Container &other)
mapped_type & at (key_type const &key)
mapped_type const & at (key_type const &key) const
virtual mapped_type & operator[] (key_type const &key)
 Access the value that is mapped to a key equivalent to key, creating it if such key does not exist already. More...
virtual mapped_type & operator[] (key_type &&key)
 Access the value that is mapped to a key equivalent to key, creating it if such key does not exist already. More...
iterator find (key_type const &key)
const_iterator find (key_type const &key) const
size_type count (key_type const &key) const
 This returns either 1 if the key is found in the container of 0 if not. More...
bool contains (key_type const &key) const
 Checks if there is an element with a key equivalent to an exiting key in the container. More...
virtual size_type erase (key_type const &key)
 Remove a single element from the container and (if written) from disk. More...
virtual iterator erase (iterator res)
auto emplace (Args &&... args) -> decltype(InternalContainer().emplace(std::forward< Args >(args)...))
- 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 Member Functions

void readBase ()
- Protected Member Functions inherited from openPMD::Container< T_elem >
void clear_unchecked ()
EraseStaleEntries eraseStaleEntries ()
- 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 ()

Protected Attributes

std::shared_ptr< bool > m_containsScalar
- Protected Attributes inherited from openPMD::Container< T_elem >
std::shared_ptr< InternalContainer > m_container
- Protected Attributes inherited from openPMD::LegacyAttributable
std::shared_ptr< internal::AttributableDatam_attributableData
- Protected Attributes inherited from openPMD::AttributableInterface
internal::AttributableDatam_attri = nullptr


class Iteration
class ParticleSpecies

Additional Inherited Members

- Protected Types inherited from openPMD::Container< T_elem >
using InternalContainer = std::map< std::string, T_elem >
- Protected Types inherited from openPMD::AttributableInterface
enum  ReadMode { IgnoreExisting, OverrideExisting, FullyReread }

Member Function Documentation

◆ scalar()

template<typename T_elem >
bool openPMD::BaseRecord< T_elem >::scalar

Returns true if this record only contains a single component.

true if a record with only a single component

◆ unitDimension()

template<typename T_elem >
std::array< double, 7 > openPMD::BaseRecord< T_elem >::unitDimension

Return the physical dimension (quantity) of a record.

add also, as soon as added in Container:

Annotating the physical dimension of a record allows us to read data sets with arbitrary names and understand their purpose simply by dimensional analysis. The dimensional base quantities in openPMD are in order: length (L), mass (M), time (T), electric current (I), thermodynamic temperature (theta), amount of substance (N), luminous intensity (J) after the international system of quantities (ISQ).

See also
powers of the 7 base measures in the order specified above

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