Provides default implementations for the datamanager's requirements.
More...
|
using | Utopia::DataIO::Default::DefaultBaseGroupBuilder = std::function< std::shared_ptr< HDFGroup >(std::shared_ptr< HDFGroup > &&) > |
| Type of the default group builder. More...
|
|
template<typename Model > |
using | Utopia::DataIO::Default::DefaultDataWriter = std::function< void(std::shared_ptr< HDFDataset > &, Model &) > |
| Type of the default data writer. More...
|
|
template<typename Model > |
using | Utopia::DataIO::Default::DefaultBuilder = std::function< std::shared_ptr< HDFDataset >(std::shared_ptr< HDFGroup > &, Model &) > |
| Type of the default dataset builder. More...
|
|
template<typename Model > |
using | Utopia::DataIO::Default::DefaultAttributeWriterGroup = std::function< void(std::shared_ptr< HDFGroup > &, Model &) > |
| Type of the default attribute writer for groups. More...
|
|
template<typename Model > |
using | Utopia::DataIO::Default::DefaultAttributeWriterDataset = std::function< void(std::shared_ptr< HDFDataset > &, Model &) > |
| Type of the default attribute writer for datasets. More...
|
|
template<typename Model > |
using | Utopia::DataIO::Default::DefaultWriteTask = WriteTask< DefaultBaseGroupBuilder, DefaultDataWriter< Model >, DefaultBuilder< Model >, DefaultAttributeWriterGroup< Model >, DefaultAttributeWriterDataset< Model > > |
| A default WriteTask definition. More...
|
|
template<typename Model > |
using | Utopia::DataIO::Default::DefaultDecidermap = std::unordered_map< std::string, std::function< std::shared_ptr< Decider< Model > >() > > |
|
template<typename Model > |
using | Utopia::DataIO::Default::Trigger = Decider< Model > |
|
template<typename Model > |
using | Utopia::DataIO::Default::IntervalTrigger = IntervalDecider< Model > |
|
template<typename Model > |
using | Utopia::DataIO::Default::BuildOnceTrigger = OnceDecider< Model > |
|
template<typename Model > |
using | Utopia::DataIO::Default::BuildAlwaysTrigger = AlwaysDecider< Model > |
|
template<typename Model , typename... Deciders> |
using | Utopia::DataIO::Default::CompositeTrigger = CompositeDecider< Model, Deciders... > |
|
template<typename Model > |
using | Utopia::DataIO::Default::DefaultTriggermap = DefaultDecidermap< Model > |
|
Provides default implementations for the datamanager's requirements.
// endgroup DataManager
Here, default implementations for common deciders, triggers and write tasks for the ::DataManager are defined, as well as a default execution process which is to run the actual writer tasks.
◆ BuildAlwaysTrigger
template<typename Model >
◆ BuildOnceTrigger
template<typename Model >
◆ CompositeTrigger
template<typename Model , typename... Deciders>
◆ DefaultAttributeWriterDataset
template<typename Model >
Type of the default attribute writer for datasets.
◆ DefaultAttributeWriterGroup
template<typename Model >
Type of the default attribute writer for groups.
◆ DefaultBaseGroupBuilder
Type of the default group builder.
◆ DefaultBuilder
template<typename Model >
Type of the default dataset builder.
◆ DefaultDataWriter
template<typename Model >
Type of the default data writer.
◆ DefaultDecidermap
template<typename Model >
◆ DefaultTriggermap
template<typename Model >
◆ DefaultWriteTask
template<typename Model >
A default WriteTask definition.
This uses the other Default
-prefixed builders and writers from this namespace.
- Template Parameters
-
Model | The type of the model that is made available to each callable |
◆ IntervalTrigger
template<typename Model >
◆ Trigger
template<typename Model >
The function to decide whether a writer's builder will be triggered - default signature These are only aliases for the deciders to avoid copy pasta. Keep this in mind if messing with types!
◆ default_deciders
template<typename Model >
Initial value:{
{ std::string("always"),
[]() { return std::make_shared< AlwaysDecider< Model > >(); } },
{ std::string("once"),
[]() { return std::make_shared< OnceDecider< Model > >(); } },
{ std::string("interval"),
[]() { return std::make_shared< IntervalDecider< Model > >(); } }
}
Map that names the deciders supplied by default such that they can be addressed in a config file.
This map does not provide decider objects or pointers to them in itself, but functions which create shared_pointers to a particular decider function. This is made such that we can use dynamic polymorphism and do not have to resort to tuples.
- Template Parameters
-
Model | A model type for which the deciders shall be employed. |
◆ default_triggers
template<typename Model >
Default trigger factories. Equal to deciders because while the task they fullfill is different, their functionality is not.
- Template Parameters
-
Model | Modeltype the triggers shall be used with |