23 #include "openPMD/Dataset.hpp" 24 #include "openPMD/auxiliary/ShareRaw.hpp" 25 #include "openPMD/backend/BaseRecordComponent.hpp" 35 #include <type_traits> 39 #ifndef OPENPMD_protected 40 #define OPENPMD_protected protected 58 static constexpr
bool value =
false;
61 template <
typename T_Value>
64 static constexpr
bool value =
true;
67 template <
typename T_Value, std::
size_t N>
70 static constexpr
bool value =
true;
79 template <
typename T,
typename T_key,
typename T_container>
83 template <
typename T_elem>
121 uint8_t getDimensionality()
const;
122 Extent getExtent()
const;
132 template <
typename T>
143 template <
typename T>
172 template <
typename T>
173 std::shared_ptr<T> loadChunk(Offset = {0u}, Extent = {-1u});
185 template <
typename T>
186 void loadChunk(std::shared_ptr<T>, Offset, Extent);
188 template <
typename T>
189 void storeChunk(std::shared_ptr<T>, Offset, Extent);
191 template <
typename T_ContiguousContainer>
192 typename std::enable_if<
194 storeChunk(T_ContiguousContainer &, Offset = {0u}, Extent = {-1u});
226 template <
typename T,
typename F>
233 template <
typename T>
236 static constexpr
char const *
const SCALAR =
"\vScalar";
245 std::shared_ptr<std::queue<IOTask> > m_chunks;
246 std::shared_ptr<Attribute> m_constantValue;
247 std::shared_ptr<bool> m_isEmpty = std::make_shared<bool>(
false);
250 std::shared_ptr<bool> m_hasBeenExtended = std::make_shared<bool>(
false);
272 bool dirtyRecursive()
const;
283 std::shared_ptr<std::string> m_name = std::make_shared<std::string>();
288 #include "RecordComponent.tpp" Definition: Dataset.hpp:35
Logical compilation of data from one snapshot (e.g.
Definition: Iteration.hpp:40
Emulate in the C++17 concept ContiguousContainer.
Definition: RecordComponent.hpp:56
Datatype
Concrete datatype of an object available at runtime.
Definition: Datatype.hpp:45
Definition: RecordComponent.hpp:77
Public definitions of openPMD-api.
Definition: Date.cpp:28
Definition: Record.hpp:32
Definition: BaseRecord.hpp:35
Parameters recursively passed through the openPMD hierarchy when flushing.
Definition: AbstractIOHandler.hpp:103
A view into a buffer that might be reallocated at some points and thus has changing base pointers ove...
Definition: RecordComponent.hpp:75
Definition: ParticleSpecies.hpp:33
Container for N-dimensional, homogeneous Records.
Definition: Mesh.hpp:40
Map-like container that enforces openPMD requirements and handles IO.
Definition: Container.hpp:105
Definition: BaseRecordComponent.hpp:33