1 #ifndef __DIADES__GRAPH__NODEDATA__HH 2 #define __DIADES__GRAPH__NODEDATA__HH 29 return "Graph::NodeData";
34 typedef vector<NodeData *>::size_type
SizeType;
35 typedef vector<Node>::size_type
NodeId;
58 return (
_owner !=
nullptr);
68 require(Exception, eData !=
nullptr,
"NodeData::delInEdge: eData is null");
69 list<Edge>::iterator result;
83 require(Exception, eData !=
nullptr,
"NodeData::delOutEdge: eData is null");
84 list<Edge>::iterator result;
85 if (eData !=
nullptr) {
SizeType _inEdgesNb
list of the output edges
SizeType outEdgesNb() const
Diades::Utils::Exception< NodeData > Exception
list< Edge > _inEdges
the identifier of the Node
list< Edge >::iterator delInEdge(EdgeData *eData)
const Graph & owner() const
NodeId identifier() const
SizeType _outEdgesNb
number of input edges (list.size not constant??)
list< Edge > & outEdges() const
list< Edge > & inEdges() const
list< Edge >::iterator delOutEdge(EdgeData *eData)
void setOwner(Graph &newOwner)
void setIdentifier(NodeId newId)
list< Edge >::iterator _sourcePos
pointer to the NodeData source of the Edge
#define require(Exception, expr, message)
Namespace of the Diades project.
list< Edge >::iterator newOutEdge(EdgeData *eData)
vector< NodeData * >::size_type SizeType
boost::adjacency_list Graph
list< Edge >::iterator newInEdge(EdgeData *eData)
SizeType inEdgesNb() const
list< Edge >::iterator _targetPos
position of the Edge in the list of Edge associated with the source Node
list< Edge > _outEdges
list of the input edges
NodeId _identifier
the graph that owns the NodeData (if valid)
vector< Node >::size_type NodeId