16 template <
class AronDtoT>
17 std::optional<AronDtoT>
34 template <
class DerivedT>
41 const auto* instance = derived<DerivedT>(
this).findInstance(instanceIndex);
42 return instance ? instance->data() :
nullptr;
46 template <
class AronDtoT>
47 std::optional<AronDtoT>
50 return getInstanceDataAs<AronDtoT>(derived<DerivedT>(
this).
findInstanceData(instanceIndex));
57 template <
class DerivedT>
64 const auto* instance = derived<DerivedT>(
this).findLatestInstance(instanceIndex);
65 return instance ? instance->data() :
nullptr;
69 template <
class AronDtoT>
70 std::optional<AronDtoT>
80 template <
class DerivedT>
87 const auto* instance = derived<DerivedT>(
this).findLatestInstance(entityID, instanceIndex);
88 return instance ? instance->data() :
nullptr;
91 template <
class AronDtoT>
92 std::optional<AronDtoT>
95 return getInstanceDataAs<AronDtoT>(derived<DerivedT>(
this).
findLatestInstanceData(entityID, instanceIndex));