Utopia 2
Framework for studying models of complex & adaptive systems.
|
Classes | |
class | CopyMeGraph |
The CopyMeGraph Model; a good start for a graph-based model. More... | |
struct | EdgeState |
The edge state. More... | |
struct | VertexState |
The vertex state. More... | |
Typedefs | |
using | VertexTraits = Utopia::GraphEntityTraits< VertexState > |
The traits of a vertex are just the traits of a graph entity. | |
using | Vertex = GraphEntity< VertexTraits > |
A vertex is a graph entity with vertex traits. | |
using | VertexContainer = boost::vecS |
The vertex container type. | |
using | EdgeTraits = Utopia::GraphEntityTraits< EdgeState > |
The traits of an edge are just the traits of a graph entity. | |
using | Edge = GraphEntity< EdgeTraits > |
An edge is a graph entity with edge traits. | |
using | EdgeContainer = boost::listS |
The edge container type. | |
using | GraphType = boost::adjacency_list< EdgeContainer, VertexContainer, boost::bidirectionalS, Vertex, Edge > |
The type of the graph. | |
using | ModelTypes = Utopia::ModelTypes<> |
Type helper to define types used by the model. | |
An edge is a graph entity with edge traits.
using Utopia::Models::CopyMeGraph::EdgeContainer = typedef boost::listS |
The edge container type.
Here, you can select into which container your edges should be stored in. Common choices are boost::vecS
or boost::listS
.
The traits of an edge are just the traits of a graph entity.
using Utopia::Models::CopyMeGraph::GraphType = typedef boost::adjacency_list<EdgeContainer, VertexContainer, boost::bidirectionalS, Vertex, Edge> |
The type of the graph.
By providing the structs that contain all properties of a vertex or edge respectively, you take advantage of boost::graph's bundled properties (google it, if not known). This fascilitates setting and accessing vertex and edge properties. :)
Type helper to define types used by the model.
A vertex is a graph entity with vertex traits.
using Utopia::Models::CopyMeGraph::VertexContainer = typedef boost::vecS |
The vertex container type.
Here, you select in which container your vertices should be stored in. Common choices are boost::vecS
or boost::listS
.
The traits of a vertex are just the traits of a graph entity.