Utopia  2
Framework for studying models of complex & adaptive systems.
Utopia::Agent< Traits, Space, enabled > Class Template Reference

An agent is a slightly specialized state container. More...

Detailed Description

template<typename Traits, typename Space, typename enabled = void>
class Utopia::Agent< Traits, Space, enabled >

An agent is a slightly specialized state container.

It can be extended with the use of tags and can be associated with so-called "custom links". These specializations are carried into the agent by means of the AgentTraits struct.

An agent is embedded into the Utopia::AgentManager, which has knowledge of the Utopia::Space an agent is embedded in. This allows assigning a position in space to the agent. The agent holds this position as a private member and requires the AgentManager to set it.

Template Parameters
TraitsValid Utopia::EntityTraits, describing the type of agent
SpaceThe Utopia::Space in which the agent lives; this is only used to extract the information known at compile time, i.e. the dimensionality of the space the agent lives in.
enabledTemplate parameter to enable sync or async specialization

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