SNAP Library , Developer Reference
2013-01-07 14:03:36
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
|
Node iterator. Only forward iteration (operator++) is supported. More...
#include <graph.h>
Public Member Functions | |
TNodeI () | |
TNodeI (const THashIter &NodeHIter, const TNEGraph *GraphPt) | |
TNodeI (const TNodeI &NodeI) | |
TNodeI & | operator= (const TNodeI &NodeI) |
TNodeI & | operator++ (int) |
Increment iterator. | |
bool | operator< (const TNodeI &NodeI) const |
bool | operator== (const TNodeI &NodeI) const |
int | GetId () const |
Returns ID of the current node. | |
int | GetDeg () const |
Returns degree of the current node, the sum of in-degree and out-degree. | |
int | GetInDeg () const |
Returns in-degree of the current node. | |
int | GetOutDeg () const |
Returns out-degree of the current node. | |
int | GetInNId (const int &EdgeN) const |
Returns ID of EdgeN-th in-node (the node pointing to the current node). | |
int | GetOutNId (const int &EdgeN) const |
Returns ID of EdgeN-th out-node (the node the current node points to). | |
int | GetNbrNId (const int &EdgeN) const |
Returns ID of EdgeN-th neighboring node. | |
bool | IsInNId (const int &NId) const |
Tests whether node with ID NId points to the current node. | |
bool | IsOutNId (const int &NId) const |
Tests whether the current node points to node with ID NId. | |
bool | IsNbrNId (const int &NId) const |
Tests whether node with ID NId is a neighbor of the current node. | |
int | GetInEId (const int &EdgeN) const |
Returns ID of EdgeN-th in-edge. | |
int | GetOutEId (const int &EdgeN) const |
Returns ID of EdgeN-th out-edge. | |
int | GetNbrEId (const int &EdgeN) const |
Returns ID of EdgeN-th in or out-edge. | |
bool | IsInEId (const int &EId) const |
Tests whether the edge with ID EId is an in-edge of current node. | |
bool | IsOutEId (const int &EId) const |
Tests whether the edge with ID EId is an out-edge of current node. | |
bool | IsNbrEId (const int &EId) const |
Tests whether the edge with ID EId is an in or out-edge of current node. | |
Private Types | |
typedef THash< TInt, TNode >::TIter | THashIter |
Private Attributes | |
THashIter | NodeHI |
const TNEGraph * | Graph |
Friends | |
class | TNEGraph |
Node iterator. Only forward iteration (operator++) is supported.
typedef THash<TInt, TNode>::TIter TNEGraph::TNodeI::THashIter [private] |
TNEGraph::TNodeI::TNodeI | ( | ) | [inline] |
TNEGraph::TNodeI::TNodeI | ( | const THashIter & | NodeHIter, |
const TNEGraph * | GraphPt | ||
) | [inline] |
TNEGraph::TNodeI::TNodeI | ( | const TNodeI & | NodeI | ) | [inline] |
int TNEGraph::TNodeI::GetDeg | ( | ) | const [inline] |
int TNEGraph::TNodeI::GetId | ( | ) | const [inline] |
Returns ID of the current node.
Definition at line 611 of file graph.h.
References NodeHI.
Referenced by TNEGraph::AddNode(), and GetNbrNId().
{ return NodeHI.GetDat().GetId(); }
int TNEGraph::TNodeI::GetInDeg | ( | ) | const [inline] |
int TNEGraph::TNodeI::GetInEId | ( | const int & | EdgeN | ) | const [inline] |
int TNEGraph::TNodeI::GetInNId | ( | const int & | EdgeN | ) | const [inline] |
Returns ID of EdgeN-th in-node (the node pointing to the current node).
Range of NodeN: 0 <= NodeN < GetInDeg().
Definition at line 621 of file graph.h.
References TNEGraph::GetEdge(), Graph, and NodeHI.
int TNEGraph::TNodeI::GetNbrEId | ( | const int & | EdgeN | ) | const [inline] |
int TNEGraph::TNodeI::GetNbrNId | ( | const int & | EdgeN | ) | const [inline] |
Returns ID of EdgeN-th neighboring node.
Range of NodeN: 0 <= NodeN < GetNbrDeg().
Definition at line 629 of file graph.h.
References TNEGraph::TEdge::GetDstNId(), TNEGraph::GetEdge(), GetId(), TNEGraph::TEdge::GetSrcNId(), Graph, and NodeHI.
{ const TEdge& E = Graph->GetEdge(NodeHI.GetDat().GetNbrEId(EdgeN)); return GetId()==E.GetSrcNId() ? E.GetDstNId():E.GetSrcNId(); }
int TNEGraph::TNodeI::GetOutDeg | ( | ) | const [inline] |
int TNEGraph::TNodeI::GetOutEId | ( | const int & | EdgeN | ) | const [inline] |
int TNEGraph::TNodeI::GetOutNId | ( | const int & | EdgeN | ) | const [inline] |
Returns ID of EdgeN-th out-node (the node the current node points to).
Range of NodeN: 0 <= NodeN < GetOutDeg().
Definition at line 625 of file graph.h.
References TNEGraph::GetEdge(), Graph, and NodeHI.
bool TNEGraph::TNodeI::IsInEId | ( | const int & | EId | ) | const [inline] |
Tests whether the edge with ID EId is an in-edge of current node.
Definition at line 645 of file graph.h.
References NodeHI.
Referenced by IsNbrEId().
{ return NodeHI.GetDat().IsInEId(EId); }
bool TNEGraph::TNodeI::IsInNId | ( | const int & | NId | ) | const |
Tests whether node with ID NId points to the current node.
Definition at line 417 of file graph.cpp.
References TNEGraph::GetEdge(), TNEGraph::TNode::GetInDeg(), TNEGraph::TNode::GetInEId(), Graph, and NodeHI.
Referenced by IsNbrNId().
{ const TNode& Node = NodeHI.GetDat(); for (int edge = 0; edge < Node.GetInDeg(); edge++) { if (NId == Graph->GetEdge(Node.GetInEId(edge)).GetSrcNId()) return true; } return false; }
bool TNEGraph::TNodeI::IsNbrEId | ( | const int & | EId | ) | const [inline] |
bool TNEGraph::TNodeI::IsNbrNId | ( | const int & | NId | ) | const [inline] |
bool TNEGraph::TNodeI::IsOutEId | ( | const int & | EId | ) | const [inline] |
Tests whether the edge with ID EId is an out-edge of current node.
Definition at line 647 of file graph.h.
References NodeHI.
Referenced by IsNbrEId().
{ return NodeHI.GetDat().IsOutEId(EId); }
bool TNEGraph::TNodeI::IsOutNId | ( | const int & | NId | ) | const |
Tests whether the current node points to node with ID NId.
Definition at line 426 of file graph.cpp.
References TNEGraph::TNode::GetOutDeg(), and TNEGraph::TNode::GetOutEId().
Referenced by IsNbrNId().
{ const TNode& Node = NodeHI.GetDat(); for (int edge = 0; edge < Node.GetOutDeg(); edge++) { if (NId == Graph->GetEdge(Node.GetOutEId(edge)).GetDstNId()) return true; } return false; }
TNodeI& TNEGraph::TNodeI::operator++ | ( | int | ) | [inline] |
bool TNEGraph::TNodeI::operator< | ( | const TNodeI & | NodeI | ) | const [inline] |
bool TNEGraph::TNodeI::operator== | ( | const TNodeI & | NodeI | ) | const [inline] |
const TNEGraph* TNEGraph::TNodeI::Graph [private] |
Definition at line 600 of file graph.h.
Referenced by GetInNId(), GetNbrNId(), GetOutNId(), IsInNId(), and operator=().
THashIter TNEGraph::TNodeI::NodeHI [private] |
Definition at line 599 of file graph.h.
Referenced by GetDeg(), GetId(), GetInDeg(), GetInEId(), GetInNId(), GetNbrEId(), GetNbrNId(), GetOutDeg(), GetOutEId(), GetOutNId(), IsInEId(), IsInNId(), IsOutEId(), operator++(), operator<(), operator=(), and operator==().