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

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

Collaboration diagram for DataManager:

Modules

 Defaults
 Provides default implementations for the datamanager's requirements.
 
 Utilities
 Provides a number of helper functions for the datamanager class.
 
 Factories
 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.
 
 WriteTask
 Provides a class which encapsulates the process of acquiring resources to write data to, writing data to that resource, and handling meta information.
 

Classes

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

Overview

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.

Implementation

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.