1 #ifndef __DIADES__GRAPH__NODE__HH 2 #define __DIADES__GRAPH__NODE__HH 5 #include <boost/functional/hash.hpp> 87 require(Exception, data !=
nullptr,
88 "Node: null data pointer");
121 return sizeof (
Node);
130 require(Exception,
valid(),
"Node::degree: invalid node");
140 require(Exception,
valid(),
"Node::outDeg: invalid node");
150 require(Exception,
valid(),
"Node::inDeg: invalid node");
160 require(Exception,
valid(),
"Node::outEdgeBegin: invalid node");
170 require(Exception,
valid(),
"Node::outEdgeEnd: invalid node");
180 require(Exception,
valid(),
"Node::inEdgeBegin: invalid node");
190 require(Exception,
valid(),
"Node::inEdgeEnd: invalid node");
219 return !(*
this == node);
232 return !((*
this == node) || ((*
this) < node));
278 "Node::destroy: _nData is not null and output or input edges exist");
284 ensure(Exception, !
valid(),
"Node::destroy: valid node");
293 require(Exception,
valid(),
"Node::changeId: invalid node");
SizeType outEdgesNb() const
friend ostream & operator<<(ostream &os, const Node &node)
InEdgeIterator inEdgeBegin() const
SizeType memoryUsage() const
#define ensure(Exception, expr, message)
const Graph & owner() const
NodeId identifier() const
InEdgeIterator inEdgeEnd() const
list< Edge > & outEdges() const
OutEdgeIterator outEdgeBegin() const
list< Edge > & inEdges() const
Node & operator=(Node &&other)=default
void setIdentifier(NodeId newId)
std::size_t hash_value(Diades::Graph::Edge const &e)
#define require(Exception, expr, message)
Namespace of the Diades project.
size_t operator()(Diades::Graph::Node const &node) const
bool operator<(const Node &node) const
Diades::Utils::Exception< Node > Exception
list< Edge >::iterator OutEdgeIterator
boost::adjacency_list Graph
bool operator==(const Node &node) const
OutEdgeIterator outEdgeEnd() const
SizeType inEdgesNb() const
std::size_t hash_value(Diades::Graph::Node const &node)
list< Edge >::iterator InEdgeIterator
vector< Node >::size_type SizeType
void create(NodeId idt, Graph *own)
bool operator>(const Node &node) const
bool operator!=(const Node &node) const
void printInformation() const