A C++ library for distributed co-simulation
Classes | Namespaces | Typedefs | Enumerations | Functions | Variables
model.hpp File Reference

Main module header for coral::model. More...

#include <cstdint>
#include <iterator>
#include <limits>
#include <map>
#include <string>
#include <vector>
#include "boost/range/adaptor/map.hpp"
#include "boost/variant.hpp"
#include "coral/config.h"

Go to the source code of this file.


class  coral::model::VariableDescription
 A description of a single variable. More...
class  coral::model::SlaveTypeDescription
 A description of a slave type. More...
class  coral::model::SlaveDescription
 A description of a specific slave. More...
class  coral::model::Variable
 An object that identifies a variable in a simulation, and which consists of a slave ID and a variable ID. More...
class  coral::model::VariableSetting
 An object which represents the action of assigning an initial value to a variable, or to connect it to another variable. More...


 Types and constants that describe model structure.


typedef std::int32_t coral::model::StepID
 A number that uniquely identifies a time step in an execution.
typedef double coral::model::TimePoint
 The type used to specify (simulation) time points.
typedef double coral::model::TimeDuration
 The type used to specify (simulation) time durations. More...
typedef std::uint16_t coral::model::SlaveID
 Unsigned integer type used for slave identifiers.
typedef std::uint32_t coral::model::VariableID
 Unsigned integer type used for variable identifiers.
typedef boost::variant< double, int, bool, std::stringcoral::model::ScalarValue
 An algebraic type that can hold values of all supported data types.



DataType coral::model::DataTypeOf (const ScalarValue &v)
 Returns the type of data stored in the given ScalarValue.
bool coral::model::operator== (const Variable &a, const Variable &b)
 Equality comparison for Variable objects. More...
bool coral::model::operator!= (const Variable &a, const Variable &b)
 Inequality comparison for Variable objects, defined as !(a==b).
bool coral::model::IsValidSlaveName (const std::string &s)
 Returns whether s contains a valid slave name. More...


const StepID coral::model::INVALID_STEP_ID = -1
 A number which will never be used for an actual time step ID.
const TimePoint coral::model::ETERNITY = std::numeric_limits<TimePoint>::infinity()
 A special TimePoint value that lies infinitely far in the future.
const SlaveID coral::model::INVALID_SLAVE_ID = 0
 An invalid slave identifier.

Detailed Description

Main module header for coral::model.