3 #include "openPMD/backend/HierarchyVisitor.hpp"
5 #include "openPMD/Iteration.hpp"
6 #include "openPMD/ParticleSpecies.hpp"
7 #include "openPMD/Series.hpp"
12 template <
typename Lambda>
17 template <
typename Arg>
19 : lambda(std::forward<Arg>(arg))
22 template <
typename Lambda_in>
23 friend auto makeHierarchyVisitorFromLambda(Lambda_in &&lambda);
34 void operator()(
Mesh &obj)
override
42 void operator()(
Meshes &obj)
override
66 void operator()(
Record &obj)
override
74 void operator()(
Series &obj)
override
80 template <
typename Lambda>
81 auto makeHierarchyVisitorFromLambda(Lambda &&lambda)
84 return res_t{0, std::forward<Lambda>(lambda)};
87 template <
typename Lambda>
90 auto visitor = makeHierarchyVisitorFromLambda(std::forward<Lambda>(lambda));
void visitHierarchyFromLambda(Lambda &&lambda, bool recursive)
Visitor pattern for the openPMD object hierarchy in postfix traversal, lambda version.
Definition: HierarchyVisitorImpl.hpp:88
virtual void visitHierarchy(HierarchyVisitor &visitor, bool recursive)
Visitor pattern for the openPMD object hierarchy in postfix traversal.
Definition: Attributable.cpp:300
Definition: HierarchyVisitorImpl.hpp:14
Definition: HierarchyVisitor.hpp:20
Logical compilation of data from one snapshot (e.g.
Definition: Iteration.hpp:172
Definition: Iteration.hpp:543
Container for N-dimensional, homogeneous Records.
Definition: Mesh.hpp:44
Definition: MeshRecordComponent.hpp:38
Definition: Iteration.hpp:152
Definition: ParticlePatches.hpp:32
Definition: ParticleSpecies.hpp:39
Definition: Iteration.hpp:158
Definition: PatchRecordComponent.hpp:47
Definition: PatchRecord.hpp:32
Definition: RecordComponent.hpp:118
Definition: Record.hpp:34
Implementation for the root level of the openPMD hierarchy.
Definition: Series.hpp:288
Public definitions of openPMD-api.
Definition: Date.cpp:29