|
RepastHPC
2.3.1
|
Used internally by repast graphs / networks to encapsulate Vertices. More...
#include <Vertex.h>
Public Types | |
| enum | EdgeType { INCOMING, OUTGOING } |
| Enum the identifies whether an edge is incoming or outgoing. | |
| typedef boost::unordered_map< Vertex< V, E > *, boost::shared_ptr< E >, HashVertex< V, E > > | AdjListMap |
| Typedef for the adjacency list map that contains the other Vertices that this Vertex links to. | |
| typedef AdjListMap::iterator | AdjListMapIterator |
Public Member Functions | |
| Vertex (boost::shared_ptr< V > item) | |
| Creates a Vertex that contains the specified item. More... | |
| virtual boost::shared_ptr< E > | removeEdge (Vertex *other, EdgeType type)=0 |
| Removes the edge of the specified type between this Vertex and the specified Vertex. More... | |
| virtual boost::shared_ptr< E > | findEdge (Vertex *other, EdgeType type)=0 |
| Finds the edge of the specified type between this Vertex and the specified vertex. More... | |
| virtual void | addEdge (Vertex< V, E > *other, boost::shared_ptr< E > edge, EdgeType type)=0 |
| Adds an edge of the specified type between this Vertex and the specified vertex. More... | |
| virtual void | successors (std::vector< V * > &out)=0 |
| Gets the successors of this Vertex. More... | |
| virtual void | predecessors (std::vector< V * > &out)=0 |
| Gets the predecessors of this Vertex. More... | |
| virtual void | adjacent (std::vector< V * > &out)=0 |
| Gets the Vertices adjacent to this Vertex. More... | |
| virtual void | edges (EdgeType type, std::vector< boost::shared_ptr< E > > &out)=0 |
| Gets all the edges of the specified type in which this Vertex participates and return them in out. More... | |
| virtual int | inDegree ()=0 |
| Gets the in degree of this Vertex. More... | |
| virtual int | outDegree ()=0 |
| Gets the out degree of this Vertex. More... | |
| boost::shared_ptr< V > | item () const |
| Gets the item that this Vertex contains. More... | |
Protected Member Functions | |
| boost::shared_ptr< E > | removeEdge (Vertex< V, E > *other, AdjListMap *adjMap) |
| void | getItems (AdjListMap *adjMap, std::vector< V * > &out) |
| void | edges (AdjListMap *adjMap, std::vector< boost::shared_ptr< E > > &out) |
Protected Attributes | |
| boost::shared_ptr< V > | ptr |
Friends | |
| struct | NodeGetter< V, E > |
Used internally by repast graphs / networks to encapsulate Vertices.
| V | the type of object stored by in a Vertex. |
| E | the edge type of the network. |
| repast::Vertex< V, E >::Vertex | ( | boost::shared_ptr< V > | item | ) |
|
pure virtual |
Adds an edge of the specified type between this Vertex and the specified vertex.
| edge | the edge to add |
| other | the other end of the edge |
| type | the type of edge to add |
Implemented in repast::DirectedVertex< V, E >, and repast::UndirectedVertex< V, E >.
|
pure virtual |
Gets the Vertices adjacent to this Vertex.
| [out] | the | vector where the adjacent vectors will be put |
Implemented in repast::DirectedVertex< V, E >, and repast::UndirectedVertex< V, E >.
|
pure virtual |
Gets all the edges of the specified type in which this Vertex participates and return them in out.
| type | the type of edges to get | |
| [out] | where | the edges will be put. |
Implemented in repast::DirectedVertex< V, E >, and repast::UndirectedVertex< V, E >.
|
pure virtual |
Finds the edge of the specified type between this Vertex and the specified vertex.
| other | the other end of the edge |
| type | the type of edge to remove |
Implemented in repast::DirectedVertex< V, E >, and repast::UndirectedVertex< V, E >.
|
pure virtual |
Gets the in degree of this Vertex.
Implemented in repast::DirectedVertex< V, E >, and repast::UndirectedVertex< V, E >.
|
inline |
Gets the item that this Vertex contains.
|
pure virtual |
Gets the out degree of this Vertex.
Implemented in repast::DirectedVertex< V, E >, and repast::UndirectedVertex< V, E >.
|
pure virtual |
Gets the predecessors of this Vertex.
| [out] | the | vector where any predecessors will be put |
Implemented in repast::DirectedVertex< V, E >, and repast::UndirectedVertex< V, E >.
|
pure virtual |
Removes the edge of the specified type between this Vertex and the specified Vertex.
| other | the other end of the edge |
| type | the type of edge to remove |
Implemented in repast::DirectedVertex< V, E >, and repast::UndirectedVertex< V, E >.
|
pure virtual |
Gets the successors of this Vertex.
| [out] | the | vector where any successors will be put |
Implemented in repast::DirectedVertex< V, E >, and repast::UndirectedVertex< V, E >.
1.8.17