Utopia  2
Framework for studying models of complex & adaptive systems.
Public Types | Static Public Attributes | List of all members
Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType > Struct Template Reference

Wrapper struct for defining model class data types. More...

#include <model.hh>

Public Types

using RNG = RNGType
 
using Space = SpaceType
 
using Config = ConfigType
 
using DataGroup = DataGroupType
 
using DataSet = DataSetType
 
using Time = TimeType
 
using Monitor = MonitorType
 
using MonitorManager = MonitorManagerType
 
using Level = std::size_t
 

Static Public Attributes

static constexpr WriteMode write_mode = data_write_mode
 

Detailed Description

template<typename RNGType = DefaultRNG, WriteMode data_write_mode = DefaultWriteMode, typename SpaceType = DefaultSpace, typename ConfigType = Utopia::DataIO::Config, typename DataGroupType = Utopia::DataIO::HDFGroup, typename DataSetType = Utopia::DataIO::HDFDataset, typename TimeType = std::size_t, typename MonitorType = Utopia::DataIO::Monitor, typename MonitorManagerType = Utopia::DataIO::MonitorManager>
struct Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType >

Wrapper struct for defining model class data types.

Using the template parameters, derived classes can specify the types they desire to use.

Template Parameters
RNGTypeThe RNG class to use
data_write_modeMode in which data is written in model class
SpacetypeThe SpaceType to use, defaults to a 2D space
ConfigTypeThe class to use for reading the config
DataGroupTypeThe data group class to store datasets in
DataSetTypeThe data group class to store data in
TimeTypeThe type to use for the time members
MonitorTypeThe type to use for the Monitor member
MonitorManagerTypeThe type to use for the Monitor manager

Member Typedef Documentation

◆ Config

template<typename RNGType = DefaultRNG, WriteMode data_write_mode = DefaultWriteMode, typename SpaceType = DefaultSpace, typename ConfigType = Utopia::DataIO::Config, typename DataGroupType = Utopia::DataIO::HDFGroup, typename DataSetType = Utopia::DataIO::HDFDataset, typename TimeType = std::size_t, typename MonitorType = Utopia::DataIO::Monitor, typename MonitorManagerType = Utopia::DataIO::MonitorManager>
using Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType >::Config = ConfigType

◆ DataGroup

template<typename RNGType = DefaultRNG, WriteMode data_write_mode = DefaultWriteMode, typename SpaceType = DefaultSpace, typename ConfigType = Utopia::DataIO::Config, typename DataGroupType = Utopia::DataIO::HDFGroup, typename DataSetType = Utopia::DataIO::HDFDataset, typename TimeType = std::size_t, typename MonitorType = Utopia::DataIO::Monitor, typename MonitorManagerType = Utopia::DataIO::MonitorManager>
using Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType >::DataGroup = DataGroupType

◆ DataSet

template<typename RNGType = DefaultRNG, WriteMode data_write_mode = DefaultWriteMode, typename SpaceType = DefaultSpace, typename ConfigType = Utopia::DataIO::Config, typename DataGroupType = Utopia::DataIO::HDFGroup, typename DataSetType = Utopia::DataIO::HDFDataset, typename TimeType = std::size_t, typename MonitorType = Utopia::DataIO::Monitor, typename MonitorManagerType = Utopia::DataIO::MonitorManager>
using Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType >::DataSet = DataSetType

◆ Level

template<typename RNGType = DefaultRNG, WriteMode data_write_mode = DefaultWriteMode, typename SpaceType = DefaultSpace, typename ConfigType = Utopia::DataIO::Config, typename DataGroupType = Utopia::DataIO::HDFGroup, typename DataSetType = Utopia::DataIO::HDFDataset, typename TimeType = std::size_t, typename MonitorType = Utopia::DataIO::Monitor, typename MonitorManagerType = Utopia::DataIO::MonitorManager>
using Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType >::Level = std::size_t

◆ Monitor

template<typename RNGType = DefaultRNG, WriteMode data_write_mode = DefaultWriteMode, typename SpaceType = DefaultSpace, typename ConfigType = Utopia::DataIO::Config, typename DataGroupType = Utopia::DataIO::HDFGroup, typename DataSetType = Utopia::DataIO::HDFDataset, typename TimeType = std::size_t, typename MonitorType = Utopia::DataIO::Monitor, typename MonitorManagerType = Utopia::DataIO::MonitorManager>
using Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType >::Monitor = MonitorType

◆ MonitorManager

template<typename RNGType = DefaultRNG, WriteMode data_write_mode = DefaultWriteMode, typename SpaceType = DefaultSpace, typename ConfigType = Utopia::DataIO::Config, typename DataGroupType = Utopia::DataIO::HDFGroup, typename DataSetType = Utopia::DataIO::HDFDataset, typename TimeType = std::size_t, typename MonitorType = Utopia::DataIO::Monitor, typename MonitorManagerType = Utopia::DataIO::MonitorManager>
using Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType >::MonitorManager = MonitorManagerType

◆ RNG

template<typename RNGType = DefaultRNG, WriteMode data_write_mode = DefaultWriteMode, typename SpaceType = DefaultSpace, typename ConfigType = Utopia::DataIO::Config, typename DataGroupType = Utopia::DataIO::HDFGroup, typename DataSetType = Utopia::DataIO::HDFDataset, typename TimeType = std::size_t, typename MonitorType = Utopia::DataIO::Monitor, typename MonitorManagerType = Utopia::DataIO::MonitorManager>
using Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType >::RNG = RNGType

◆ Space

template<typename RNGType = DefaultRNG, WriteMode data_write_mode = DefaultWriteMode, typename SpaceType = DefaultSpace, typename ConfigType = Utopia::DataIO::Config, typename DataGroupType = Utopia::DataIO::HDFGroup, typename DataSetType = Utopia::DataIO::HDFDataset, typename TimeType = std::size_t, typename MonitorType = Utopia::DataIO::Monitor, typename MonitorManagerType = Utopia::DataIO::MonitorManager>
using Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType >::Space = SpaceType

◆ Time

template<typename RNGType = DefaultRNG, WriteMode data_write_mode = DefaultWriteMode, typename SpaceType = DefaultSpace, typename ConfigType = Utopia::DataIO::Config, typename DataGroupType = Utopia::DataIO::HDFGroup, typename DataSetType = Utopia::DataIO::HDFDataset, typename TimeType = std::size_t, typename MonitorType = Utopia::DataIO::Monitor, typename MonitorManagerType = Utopia::DataIO::MonitorManager>
using Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType >::Time = TimeType

Member Data Documentation

◆ write_mode

template<typename RNGType = DefaultRNG, WriteMode data_write_mode = DefaultWriteMode, typename SpaceType = DefaultSpace, typename ConfigType = Utopia::DataIO::Config, typename DataGroupType = Utopia::DataIO::HDFGroup, typename DataSetType = Utopia::DataIO::HDFDataset, typename TimeType = std::size_t, typename MonitorType = Utopia::DataIO::Monitor, typename MonitorManagerType = Utopia::DataIO::MonitorManager>
constexpr WriteMode Utopia::ModelTypes< RNGType, data_write_mode, SpaceType, ConfigType, DataGroupType, DataSetType, TimeType, MonitorType, MonitorManagerType >::write_mode = data_write_mode
staticconstexpr

The documentation for this struct was generated from the following file: