1 #ifndef __DIADES__GRAPH__NODE__HH 2 #define __DIADES__GRAPH__NODE__HH 5 #include <boost/functional/hash.hpp> 72 require(Exception, data !=
nullptr,
73 "Node: null data pointer");
115 return sizeof (
Node);
124 require(Exception,
valid(),
"Node::degree: invalid node");
134 require(Exception,
valid(),
"Node::outDeg: invalid node");
144 require(Exception,
valid(),
"Node::inDeg: invalid node");
154 require(Exception,
valid(),
"Node::outEdgeBegin: invalid node");
164 require(Exception,
valid(),
"Node::outEdgeEnd: invalid node");
174 require(Exception,
valid(),
"Node::inEdgeBegin: invalid node");
184 require(Exception,
valid(),
"Node::inEdgeEnd: invalid node");
208 return !(*
this == node);
221 return !((*
this == node) || ((*
this) < node));
267 "Node::destroy: _nData is not null and output or input edges exist");
273 ensure(Exception, !
valid(),
"Node::destroy: valid node");
282 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
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
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
Node & operator=(const Node &node)
bool operator!=(const Node &node) const
void printInformation() const