Utopia
2
Framework for studying models of complex & adaptive systems.
|
Classes | |
struct | VertexState |
The vertex state. More... | |
struct | EdgeState |
The edge state. More... | |
class | CopyMeGraph |
The CopyMeGraph Model; a good start for a graph-based model. More... | |
Typedefs | |
using | VertexTraits = Utopia::GraphEntityTraits< VertexState > |
The traits of a vertex are just the traits of a graph entity. More... | |
using | Vertex = GraphEntity< VertexTraits > |
A vertex is a graph entity with vertex traits. More... | |
using | VertexContainer = boost::vecS |
The vertex container type. More... | |
using | EdgeTraits = Utopia::GraphEntityTraits< EdgeState > |
The traits of an edge are just the traits of a graph entity. More... | |
using | Edge = GraphEntity< EdgeTraits > |
An edge is a graph entity with edge traits. More... | |
using | EdgeContainer = boost::listS |
The edge container type. More... | |
using | GraphType = boost::adjacency_list< EdgeContainer, VertexContainer, boost::bidirectionalS, Vertex, Edge > |
The type of the graph. More... | |
using | ModelTypes = Utopia::ModelTypes<> |
Type helper to define types used by the model. More... | |
using Utopia::Models::CopyMeGraph::Edge = typedef GraphEntity<EdgeTraits> |
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
.
using Utopia::Models::CopyMeGraph::EdgeTraits = typedef Utopia::GraphEntityTraits<EdgeState> |
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. :)
using Utopia::Models::CopyMeGraph::ModelTypes = typedef Utopia::ModelTypes<> |
Type helper to define types used by the model.
using Utopia::Models::CopyMeGraph::Vertex = typedef GraphEntity<VertexTraits> |
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.