1- #if 0
21#include " openPMD/backend/ScientificDefaults.hpp"
32#include " openPMD/backend/ScientificDefaults_auxiliary.hpp"
43#include " openPMD/backend/ScientificDefaults_impl.hpp"
2423namespace openPMD ::internal
2524{
2625// 7. ScientificDefaults template implementations
27- template <typename Child>
28- auto ScientificDefaults<Child>::asChild() -> Child &
29- {
30- return *static_cast<Child *>(this);
31- }
32-
33- template <typename Child>
34- auto ScientificDefaults<Child>::asChild() const -> Child const &
35- {
36- return *static_cast<Child const *>(this);
37- }
38-
39- template <typename Child>
40- [[nodiscard]] auto
41- ScientificDefaults<Child>::defaultAttribute(char const *attrName)
26+ [[nodiscard]] auto ScientificDefaults::defaultAttribute (char const *attrName)
4227 -> ConfigAttribute
4328{
44- return ConfigAttribute{asChild (), attrName};
29+ return ConfigAttribute{as_attributable (), attrName};
4530}
4631
47- template <typename Child>
48- template <typename Parent, bool write>
49- void ScientificDefaults<Child>::addParentDefaults(OpenpmdStandard standard)
50- {
51- // Cannot directly call read_impl as it is private
52- if constexpr (write)
53- {
54- asChild().ScientificDefaults<Parent>::writeDefaults(standard);
55- }
56- else
57- {
58- asChild().ScientificDefaults<Parent>::readDefaults(standard);
59- }
60- }
61-
62- template <typename Child>
63- void ScientificDefaults<Child>::writeDefaultsRecursively(
64- OpenpmdStandard standard)
65- {
66- writeDefaults(standard);
67- if constexpr (IsContainer_v<Child>)
68- {
69- using Container_t = AsContainer_t<Child>;
70- using mapped_type = typename Container_t::mapped_type;
71- if constexpr (HasScientificDefaults_v<mapped_type>)
72- {
73- for (auto &[_, right] : asChild())
74- {
75- (void)_;
76- right.ScientificDefaults<mapped_type>::writeDefaultsRecursively(
77- standard);
78- }
79- }
80- }
81- // sic! no else
32+ // {
33+ // writeDefaults(standard);
34+ // if constexpr (IsContainer_v)
35+ // {
36+ // using Container_t = AsContainer_t;
37+ // using mapped_type = typename Container_t::mapped_type;
38+ // if constexpr (HasScientificDefaults_v<mapped_type>)
39+ // {
40+ // for (auto &[_, right] : asChild())
41+ // {
42+ // (void)_;
43+ // right.ScientificDefaults<mapped_type>::writeDefaultsRecursively(
44+ // standard);
45+ // }
46+ // }
47+ // }
48+ // // sic! no else
8249
83- if constexpr (std::is_same_v<Child, Iteration>)
84- {
85- for (auto &[_, right] : asChild().meshes)
86- {
87- (void)_;
88- right.ScientificDefaults<Mesh>::writeDefaultsRecursively(standard);
89- }
90- for (auto &[_, right] : asChild().particles)
91- {
92- (void)_;
93- right.ScientificDefaults<ParticleSpecies>::writeDefaultsRecursively(
94- standard);
95- }
96- }
97- else if constexpr (std::is_same_v<Child, ParticleSpecies>)
98- {
99- for (auto &[_, right] : asChild().particlePatches)
100- {
101- (void)_;
102- right.ScientificDefaults<PatchRecord>::writeDefaultsRecursively(
103- standard);
104- }
105- }
106- }
50+ // if constexpr (std::is_same_v<Child, Iteration>)
51+ // {
52+ // for (auto &[_, right] : asChild().meshes)
53+ // {
54+ // (void)_;
55+ // right.ScientificDefaults<Mesh>::writeDefaultsRecursively(standard);
56+ // }
57+ // for (auto &[_, right] : asChild().particles)
58+ // {
59+ // (void)_;
60+ // right.ScientificDefaults<ParticleSpecies>::writeDefaultsRecursively(
61+ // standard);
62+ // }
63+ // }
64+ // else if constexpr (std::is_same_v<Child, ParticleSpecies>)
65+ // {
66+ // for (auto &[_, right] : asChild().particlePatches)
67+ // {
68+ // (void)_;
69+ // right.ScientificDefaults<PatchRecord>::writeDefaultsRecursively(
70+ // standard);
71+ // }
72+ // }
73+ // }
10774
108- template <typename Child>
75+ # if 0
10976template <bool write>
110- void ScientificDefaults<Child> ::defaults_impl(OpenpmdStandard standard)
77+ void ScientificDefaults::defaults_impl(OpenpmdStandard standard)
11178{
11279 auto float_types = get_float_types();
11380 auto string_types = get_string_types();
@@ -134,15 +101,6 @@ void ScientificDefaults<Child>::defaults_impl(OpenpmdStandard standard)
134101
135102 if constexpr (std::is_same_v<Child, Iteration>)
136103 {
137- defaultAttribute("time")
138- .template withSetter<Iteration>(0., &Iteration::setTime)
139- .withReader(float_types, require_scalar)(wor);
140- defaultAttribute("dt")
141- .template withSetter<Iteration>(1., &Iteration::setDt)
142- .withReader(float_types, require_scalar)(wor);
143- defaultAttribute("timeUnitSI")
144- .template withSetter<Iteration>(1.0, &Iteration::setTimeUnitSI)
145- .withReader(float_types, require_type<double>())(wor);
146104 }
147105 else if constexpr (std::is_same_v<Child, Mesh>)
148106 {
@@ -276,7 +234,7 @@ void ScientificDefaults<Child>::defaults_impl(OpenpmdStandard standard)
276234 // .withReader(float_types, require_type<double>())
277235 (wor);
278236 }
279- else if constexpr (detail::IsBaseRecord_v<Child> )
237+ else if constexpr (detail::IsBaseRecord_v)
280238 {
281239 defaultAttribute("unitDimension")
282240 .withGenericSetter(unit_representations::AsArray{})
@@ -290,33 +248,18 @@ void ScientificDefaults<Child>::defaults_impl(OpenpmdStandard standard)
290248 }
291249 else
292250 {
293- static_assert(auxiliary::dependent_false_v<Child> , "Unknown class");
251+ static_assert(auxiliary::dependent_false_v, "Unknown class");
294252 }
295253}
254+ #endif
296255
297- template <typename Child>
298- void ScientificDefaults<Child>::writeDefaults(OpenpmdStandard standard)
256+ void ScientificDefaults::writeDefaults (OpenpmdStandard standard)
299257{
300- defaults_impl< /* write = */ true>( standard);
258+ defaults_impl ( /* write = */ true , standard);
301259}
302260
303- template <typename Child>
304- void ScientificDefaults<Child>::readDefaults(OpenpmdStandard standard)
261+ void ScientificDefaults::readDefaults (OpenpmdStandard standard)
305262{
306- defaults_impl< /* write = */ false>( standard);
263+ defaults_impl ( /* write = */ false , standard);
307264}
308-
309- // 8. Template instantiations
310- template class ScientificDefaults<Iteration>;
311- template class ScientificDefaults<Mesh>;
312- template class ScientificDefaults<MeshRecordComponent>;
313- template class ScientificDefaults<RecordComponent>;
314- template class ScientificDefaults<PatchRecordComponent>;
315- template class ScientificDefaults<ParticleSpecies>;
316- template class ScientificDefaults<Record>;
317- template class ScientificDefaults<BaseRecord<MeshRecordComponent>>;
318- template class ScientificDefaults<BaseRecord<PatchRecordComponent>>;
319- template class ScientificDefaults<BaseRecord<RecordComponent>>;
320- template class ScientificDefaults<PatchRecord>;
321265} // namespace openPMD::internal
322- #endif
0 commit comments