Utopia  2
Framework for studying models of complex & adaptive systems.
Classes | Namespaces | Typedefs | Variables
defaults.hh File Reference
#include <boost/hana/ext/std/tuple.hpp>
#include <boost/hana/fold.hpp>
#include <boost/hana/zip.hpp>
#include <unordered_map>
#include "../cfg_utils.hh"
#include "write_task.hh"
Include dependency graph for defaults.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  Utopia::DataIO::Default::DefaultExecutionProcess
 Functor representing what is considered the most widely used execution process for writing data. More...
 
struct  Utopia::DataIO::Default::Decider< Model >
 Common interface for all deciders (and triggers, for that matter). Every decider/Trigger must inherit from this, and implement its virtual functions 'bool operator()(Model&)' and 'void set_from_cfg(const Config&)'. More...
 
struct  Utopia::DataIO::Default::IntervalDecider< Model >
 A decider that returns true when within certain time intervals. More...
 
struct  Utopia::DataIO::Default::OnceDecider< Model >
 Decider which only returns true at a certain time. More...
 
struct  Utopia::DataIO::Default::AlwaysDecider< Model >
 Decider which always returns true. More...
 
struct  Utopia::DataIO::Default::CompositeDecider< Model, Deciders >
 Combines a number of deciders; returns true if any of them is true. More...
 

Namespaces

 Utopia
 
 Utopia::DataIO
 
 Utopia::DataIO::Default
 

Typedefs

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 >
 

Variables

template<typename Model >
static DefaultDecidermap< Model > Utopia::DataIO::Default::default_deciders
 Map that names the deciders supplied by default such that they can be addressed in a config file. More...
 
template<typename Model >
static DefaultTriggermap< Model > Utopia::DataIO::Default::default_triggers = default_deciders< Model >
 Default trigger factories. Equal to deciders because while the task they fullfill is different, their functionality is not. More...