@@ -112,21 +112,6 @@ namespace internal
112112 };
113113 template <typename , typename >
114114 class BaseRecordData ;
115-
116- struct HomogenizeExtents
117- {
118- std::deque<RecordComponent> without_extent;
119- std::optional<Extent> retrieved_extent;
120- bool verify_homogeneous_extents = true ;
121-
122- explicit HomogenizeExtents ();
123- HomogenizeExtents (bool verify_homogeneous_extents);
124-
125- void check_extent (Attributable const &callsite, RecordComponent &);
126- auto merge (Attributable const &callsite, HomogenizeExtents)
127- -> HomogenizeExtents &;
128- void homogenize (Attributable const &callsite) &&;
129- };
130115} // namespace internal
131116
132117template <typename >
@@ -559,6 +544,26 @@ OPENPMD_protected
559544 void verifyChunk (Datatype, Offset const &, Extent const &) const ;
560545}; // RecordComponent
561546
547+ namespace internal
548+ {
549+ // Must put this after the definition of RecordComponent due to the
550+ // deque<RecordComponent>
551+ struct HomogenizeExtents
552+ {
553+ std::deque<RecordComponent> without_extent;
554+ std::optional<Extent> retrieved_extent;
555+ bool verify_homogeneous_extents = true ;
556+
557+ explicit HomogenizeExtents ();
558+ HomogenizeExtents (bool verify_homogeneous_extents);
559+
560+ void check_extent (Attributable const &callsite, RecordComponent &);
561+ auto merge (Attributable const &callsite, HomogenizeExtents)
562+ -> HomogenizeExtents &;
563+ void homogenize (Attributable const &callsite) &&;
564+ };
565+ } // namespace internal
566+
562567} // namespace openPMD
563568
564569#include " RecordComponent.tpp"
0 commit comments