Model< Implementation > Class Template Reference

CPP API: mio::dabm::Model< Implementation > Class Template Reference
mio::dabm::Model< Implementation > Class Template Reference

Wrap an implementation of a diffusive ABM so it can be run by the d_abm::Simulation. More...

#include <model.h>

Inheritance diagram for mio::dabm::Model< Implementation >:
Collaboration diagram for mio::dabm::Model< Implementation >:

Public Types

using Agent = typename Implementation::Agent
 An agent is expected to contain at least a status and a position. More...
 
using Status = typename Implementation::Status
 The status of an agent. More...
 

Public Member Functions

constexpr void check_constraints () const
 Empty function for compatability with MEmilio. More...
 

Detailed Description

template<class Implementation>
class mio::dabm::Model< Implementation >

Wrap an implementation of a diffusive ABM so it can be run by the d_abm::Simulation.

Uses the CRTP. See comments on using statements for expected function signatures.

Template Parameters
ImplementationA class implementing all functions and types marked with the using keyword in Model.

Member Typedef Documentation

◆ Agent

template<class Implementation >
using mio::dabm::Model< Implementation >::Agent = typename Implementation::Agent

An agent is expected to contain at least a status and a position.

◆ Status

template<class Implementation >
using mio::dabm::Model< Implementation >::Status = typename Implementation::Status

The status of an agent.

Member Function Documentation

◆ check_constraints()

template<class Implementation >
constexpr void mio::dabm::Model< Implementation >::check_constraints ( ) const
inlineconstexpr

Empty function for compatability with MEmilio.