Draft: Allow to Selectively Store References
This MR introduces the possibility of only creating TRef
references for selected member types. The reason is that otherwise we e.g. call PixelCharge.petrifyHistory()
which runs for_each(PropagatedCharge)
(several hundred potentially) and creates TRef
s only to discard them in the very next step because we're not storing PropagatedCharge
objects.
There are still a few caveats:
-
It's not really beautiful how the selection works now. Essentially petrifyHistory
takes astd::type_index
to select what to store. Optionally, atypeid(nullptr)
can be used to call if for all. DO we have a better idea? -
Currently, the type of objects to be written is built during run()
but this should really happen directly when we knowinclude
orexclude
, but I was not able to chewallpix::OBJECTS
to check strings against possible types. Help needed.
Opinions, @kwolters ?