Utopia  2
Framework for studying models of complex & adaptive systems.
Public Types | Public Member Functions | List of all members
Utopia::Cell< Traits > Class Template Reference

A cell is a slightly specialized state container. More...

#include <cell.hh>

Inheritance diagram for Utopia::Cell< Traits >:
Inheritance graph
[legend]
Collaboration diagram for Utopia::Cell< Traits >:
Collaboration graph
[legend]

Public Types

using Self = Cell< Traits >
 The type of this cell. More...
 
using State = typename Traits::State
 The type of the state. More...
 
- Public Types inherited from Utopia::Entity< Cell< Traits >, Traits >
using Traits = Traits
 The traits of this entity. More...
 
using Self = Entity< Cell< Traits >, Traits >
 The type of this entity. More...
 
using State = typename Traits::State
 The type of the state of this entity. More...
 
using Tags = typename Traits::Tags
 The tags associated with this entity. More...
 
using CustomLinkContainers = typename Traits::template CustomLinks< EntityContainer< Cell< Traits > > >
 A construct that has as members containers for custom-linked entities. More...
 

Public Member Functions

 Cell (const IndexType id, const State initial_state)
 Construct a cell. More...
 
- Public Member Functions inherited from Utopia::Entity< Cell< Traits >, Traits >
 Entity (const IndexType id, const State initial_state)
 Construct an entity. More...
 
const IndexTypeid () const
 Return const reference to entity ID. More...
 
CustomLinkContainerscustom_links ()
 Return reference to custom link containers. More...
 
const CustomLinkContainerscustom_links () const
 Return const reference to custom link containers. More...
 

Additional Inherited Members

- Static Public Attributes inherited from Utopia::Entity< Cell< Traits >, Traits >
static constexpr Update mode
 Whether this entity is updated synchronously. More...
 

Detailed Description

template<typename Traits>
class Utopia::Cell< Traits >

A cell 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 cell by means of the CellTraits struct. A cell is embedded into the CellManager, where the discretization allows assigning a position in space to the cell. The cell itself does not need to know anything about that ...

Template Parameters
TraitsValid Utopia::EntityTraits, describing the type of cell

Member Typedef Documentation

◆ Self

template<typename Traits >
using Utopia::Cell< Traits >::Self = Cell<Traits>

The type of this cell.

◆ State

template<typename Traits >
using Utopia::Cell< Traits >::State = typename Traits::State

The type of the state.

Constructor & Destructor Documentation

◆ Cell()

template<typename Traits >
Utopia::Cell< Traits >::Cell ( const IndexType  id,
const State  initial_state 
)
inline

Construct a cell.


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