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 >.