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

Public Member Functions

 Record (Record const &)=default
 
Recordoperator= (Record const &)=default
 
RecordsetUnitDimension (std::map< UnitDimension, double > const &)
 
template<typename T >
timeOffset () const
 
template<typename T >
RecordsetTimeOffset (T)
 
- Public Member Functions inherited from openPMD::BaseRecord< RecordComponent >
iterator begin ()
 
const_iterator begin () const
 
const_iterator cbegin () const
 
iterator end ()
 
const_iterator end () const
 
const_iterator cend () const
 
reverse_iterator rbegin ()
 
const_reverse_iterator rbegin () const
 
const_reverse_iterator crbegin () const
 
reverse_iterator rend ()
 
const_reverse_iterator rend () const
 
const_reverse_iterator crend () const
 
mapped_type & operator[] (key_type const &key)
 
mapped_type & operator[] (key_type &&key)
 
mapped_type & at (key_type const &key)
 
mapped_type const & at (key_type const &key) const
 
size_type erase (key_type const &key)
 
iterator erase (iterator res)
 
bool empty () const noexcept
 
iterator find (key_type const &key)
 
const_iterator find (key_type const &key) const
 
size_type count (key_type const &key) const
 
size_type size () const
 
void clear ()
 
std::pair< iterator, bool > insert (value_type const &value)
 
std::pair< iterator, bool > insert (value_type &&value)
 
iterator insert (const_iterator hint, value_type const &value)
 
iterator insert (const_iterator hint, value_type &&value)
 
void insert (InputIt first, InputIt last)
 
void insert (std::initializer_list< value_type > ilist)
 
auto insert (InputIt first, InputIt last) -> void
 
void swap (BaseRecord &other)
 
bool contains (key_type const &key) const
 
auto emplace (Args &&...args) -> std::pair< iterator, bool >
 
std::array< double, 7 > unitDimension () const
 Return the physical dimension (quantity) of a record. More...
 
void setDatasetDefined (BaseRecordComponent::Data_t &data) override
 
bool scalar () const
 Returns true if this record only contains a single component. More...
 
- Public Member Functions inherited from openPMD::Container< T, T_key, T_container >
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
 
reverse_iterator rbegin () noexcept
 
const_reverse_iterator rbegin () const noexcept
 
const_reverse_iterator crbegin () const noexcept
 
reverse_iterator rend () noexcept
 
const_reverse_iterator rend () const noexcept
 
const_reverse_iterator crend () 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 (value_type &&value)
 
iterator insert (const_iterator hint, value_type const &value)
 
iterator insert (const_iterator hint, value_type &&value)
 
template<class InputIt >
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
 
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...
 
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...
 
size_type erase (key_type const &key)
 Remove a single element from the container and (if written) from disk. More...
 
iterator erase (iterator res)
 
template<class... Args>
auto emplace (Args &&...args) -> decltype(InternalContainer().emplace(std::forward< Args >(args)...))
 
protected void clear_unchecked ()
 
 Container (NoInit)
 
 Container (Container const &other)
 
 Container (Container &&other)
 
Containeroperator= (Container const &other)
 
Containeroperator= (Container &&other)
 
- Public Member Functions inherited from openPMD::Attributable
 Attributable (NoInit)
 
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...
 
AttributablesetComment (std::string const &comment)
 Populate Attribute corresponding to a comment with the user-supplied comment. More...
 
void seriesFlush (std::string backendConfig="{}")
 Flush the corresponding Series object. More...
 
MyPath myPath () const
 The path to this object within its containing Series. More...
 
protected Series retrieveSeries () const
 
void seriesFlush (internal::FlushParams const &)
 
void flushAttributes (internal::FlushParams const &)
 
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 ()
 
AbstractIOHandler const * IOHandler () const
 
Writable *& parent ()
 
Writable const * parent () const
 
Writablewritable ()
 
Writable const & writable () const
 
void setData (std::shared_ptr< internal::AttributableData > attri)
 
internal::AttributableDataget ()
 
internal::AttributableData const & get () const
 
bool dirty () const
 
bool dirtyRecursive () const
 O(1).
 
void setDirty (bool dirty_in)
 
void setDirtyRecursive (bool dirty_in)
 
bool written () const
 
bool & written ()
 
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[])
 
Iteration const & containingIteration () const
 Returns the corresponding Iteration. More...
 
IterationcontainingIteration ()
 
- Public Member Functions inherited from openPMD::RecordComponent
 RecordComponent (BaseRecord< RecordComponent > const &)
 Avoid object slicing when using a Record as a scalar Record Component. More...
 
RecordComponentsetUnitSI (double)
 
virtual RecordComponentresetDataset (Dataset)
 Declare the dataset's type and extent. More...
 
uint8_t getDimensionality () const
 
Extent getExtent () const
 
template<typename T >
RecordComponentmakeConstant (T)
 Create a dataset with regular extent and constant value. More...
 
template<typename T >
RecordComponentmakeEmpty (uint8_t dimensions)
 Create a dataset with zero extent in each dimension. More...
 
RecordComponentmakeEmpty (Datatype dt, uint8_t dimensions)
 Non-template overload of RecordComponent::makeEmpty(). More...
 
bool empty () const
 Returns true if this is an empty record component. More...
 
template<typename T >
std::shared_ptr< T > loadChunk (Offset={0u}, Extent={-1u})
 Load and allocate a chunk of data. More...
 
shared_ptr_dataset_types loadChunkVariant (Offset={0u}, Extent={-1u})
 std::variant-based version of allocating loadChunk<T>(Offset, Extent) More...
 
template<typename T >
void loadChunk (std::shared_ptr< T > data, Offset offset, Extent extent)
 Load a chunk of data into pre-allocated memory. More...
 
template<typename T >
void loadChunk (std::shared_ptr< T[]> data, Offset offset, Extent extent)
 Load a chunk of data into pre-allocated memory, array version. More...
 
template<typename T >
void loadChunkRaw (T *data, Offset offset, Extent extent)
 Load a chunk of data into pre-allocated memory, raw pointer version. More...
 
template<typename T >
void storeChunk (std::shared_ptr< T > data, Offset offset, Extent extent)
 Store a chunk of data from a chunk of memory. More...
 
template<typename T >
void storeChunk (std::shared_ptr< T[]> data, Offset offset, Extent extent)
 Store a chunk of data from a chunk of memory, array version. More...
 
template<typename T >
void storeChunk (UniquePtrWithLambda< T > data, Offset offset, Extent extent)
 Store a chunk of data from a chunk of memory, unique pointer version. More...
 
template<typename T , typename Del >
void storeChunk (std::unique_ptr< T, Del > data, Offset offset, Extent extent)
 Store a chunk of data from a chunk of memory, unique pointer version. More...
 
template<typename T >
void storeChunkRaw (T *data, Offset offset, Extent extent)
 Store a chunk of data from a chunk of memory, raw pointer version. More...
 
template<typename T_ContiguousContainer >
std::enable_if_t< auxiliary::IsContiguousContainer_v< T_ContiguousContainer > > storeChunk (T_ContiguousContainer &data, Offset offset={0u}, Extent extent={-1u})
 Store a chunk of data from a contiguous container. More...
 
template<typename T , typename F >
DynamicMemoryView< T > storeChunk (Offset offset, Extent extent, F &&createBuffer)
 Overload of storeChunk() that lets the openPMD API allocate a buffer. More...
 
template<typename T >
DynamicMemoryView< T > storeChunk (Offset, Extent)
 Overload of span-based storeChunk() that uses operator new() to create a buffer.
 
template<typename Visitor , typename... Args>
auto visit (Args &&...args) -> decltype(Visitor::template call< char >(std::declval< RecordComponent & >(), std::forward< Args >(args)...))
 Run a template functor on the type of the record component, similar to std::visit(). More...
 
- Public Member Functions inherited from openPMD::BaseRecordComponent
 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. More...
 
std::optional< size_t > joinedDimension () const
 
ChunkTable availableChunks ()
 Get data chunks that are available to be loaded from the backend. More...
 

Friends

class Container< Record >
 
class Iteration
 
class ParticleSpecies
 

Additional Inherited Members

- Public Types inherited from openPMD::BaseRecord< RecordComponent >
using T_RecordComponent = RecordComponent
 
using T_Container = Container< RecordComponent >
 
using key_type = typename Container< RecordComponent >::key_type
 
using mapped_type = typename Container< RecordComponent >::mapped_type
 
using value_type = typename Container< RecordComponent >::value_type
 
using size_type = typename Container< RecordComponent >::size_type
 
using difference_type = typename Container< RecordComponent >::difference_type
 
using allocator_type = typename Container< RecordComponent >::allocator_type
 
using reference = typename Container< RecordComponent >::reference
 
using const_reference = typename Container< RecordComponent >::const_reference
 
using pointer = typename Container< RecordComponent >::pointer
 
using const_pointer = typename Container< RecordComponent >::const_pointer
 
using iterator = internal::ScalarIterator< T_Self, Data_t, typename T_Container::InternalContainer::iterator >
 
using const_iterator = internal::ScalarIterator< T_Self const, Data_t const, typename T_Container::InternalContainer::const_iterator >
 
using reverse_iterator = internal::ScalarIterator< T_Self, Data_t, typename T_Container::InternalContainer::reverse_iterator >
 
using const_reverse_iterator = internal::ScalarIterator< T_Self const, Data_t const, typename T_Container::InternalContainer::const_reverse_iterator >
 
- Public Types inherited from openPMD::Container< T, T_key, T_container >
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
 
using reverse_iterator = typename InternalContainer::reverse_iterator
 
using const_reverse_iterator = typename InternalContainer::const_reverse_iterator
 
- Public Types inherited from openPMD::Attributable
enum  ReadMode { IgnoreExisting , OverrideExisting , FullyReread }
 
- Public Types inherited from openPMD::RecordComponent
enum class  Allocation { USER , API , AUTO }
 
using shared_ptr_dataset_types = auxiliary::detail::map_variant< auxiliary::detail::as_shared_pointer, dataset_types >::type
 
- Static Public Attributes inherited from openPMD::RecordComponent
static constexpr char const *const SCALAR = "\vScalar"
 
- Protected Types inherited from openPMD::Container< T, T_key, T_container >
using ContainerData = internal::ContainerData< T, T_key, T_container >
 
using InternalContainer = T_container
 
- Protected Types inherited from openPMD::Attributable
using Data_t = internal::AttributableData
 
- Protected Types inherited from openPMD::BaseRecordComponent
using Data_t = internal::BaseRecordComponentData
 
- Protected Member Functions inherited from openPMD::BaseRecord< RecordComponent >
void setData (std::shared_ptr< Data_t > data)
 
void readBase ()
 
- Protected Member Functions inherited from openPMD::Container< T, T_key, T_container >
void setData (std::shared_ptr< ContainerData > containerData)
 
InternalContainer const & container () const
 
InternalContainer & container ()
 
- Protected Member Functions inherited from openPMD::RecordComponent
void flush (std::string const &, internal::FlushParams const &)
 
void read (bool require_unit_si)
 
- Protected Member Functions inherited from openPMD::BaseRecordComponent
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 Attributes inherited from openPMD::Container< T, T_key, T_container >
std::shared_ptr< ContainerDatam_containerData
 
- Protected Attributes inherited from openPMD::Attributable
std::shared_ptr< Data_tm_attri
 
- Protected Attributes inherited from openPMD::BaseRecordComponent
std::shared_ptr< Data_tm_baseRecordComponentData
 

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