Celeritas
0.5.0-56+6b053cd
|
Base class for extensible shared data that has associated state. More...
#include <AuxInterface.hh>
Type aliases | |
using | UPState = std::unique_ptr< AuxStateInterface > |
Default destructor. | |
virtual | ~AuxParamsInterface () |
Default destructor. | |
virtual AuxId | aux_id () const =0 |
Index of this class instance in its registry. | |
virtual std::string_view | label () const =0 |
Label for the auxiliary data. | |
virtual UPState | create_state (MemSpace, StreamId, size_type size) const =0 |
Factory function for building multithread state for a stream. | |
AuxParamsInterface ()=default | |
CELER_DEFAULT_COPY_MOVE (AuxParamsInterface) | |
Default destructor. | |
Base class for extensible shared data that has associated state.
Auxiliary data can be added to a AuxParamsInterface
at runtime to be passed among multiple classes, and then dynamic_cast
to the expected type. It needs to supply a factory function for creating the a state instance for multithreaded data on a particular stream and a given memory space.
|
protecteddefault |
Allow construction and assignment only through daughter classes