Utopia  2
Framework for studying models of complex & adaptive systems.
Modules | Classes

High-level interface for data writing. More...

Collaboration diagram for DataManager:


 Provides default implementations for the datamanager's requirements.
 Provides a number of helper functions for the datamanager class.
 Provides a Functor for producing writetasks and a function for producing a datamanager using that functor. Exists for simplifying creation of default datamanagers for model builders.
 Provides a class which encapsulates the process of acquiring resources to write data to, writing data to that resource, and handling meta information.


struct  Utopia::DataIO::DataManagerTraits< TaskType, DeciderType, TriggerType, ExecutionProcessType >
 Type traits for the DataManager This allows to specify custom types for the DataManager. Usually, you only need to touch this if you do not want to use the defaults or if you want to need to explicitly specify a common base class because it cannot be deduced automatically. More...
class  Utopia::DataIO::DataManager< Traits >
 Manage different tasks of writing out data from a source in a uniform yet flexible way. This is a class which, when being supplied with appropriate callables, manages their execution. More...

Detailed Description

High-level interface for data writing.

Datamanager module


The data management high-level interface has as its central piece the ::DataManager class, which acts as a manager for abstract 'writetasks' which contain the relevant functionality.


The datamanager is implemented as a class which orchestrates so called write tasks, which consist of functionality for creating resources to write to, extracting data for writing and actual data writing, and for handling meta data. It is flanked by functions which decide when to write and when to change the associated resource. A datamanager is not bound to a specific data format or library, hence does not know anything about the actual process of writing out data. It merely organizes the writing process.