|
SNAP Library 2.1, Developer Reference
2013-09-25 10:47:25
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 612 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 622 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 630 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 626 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 646 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 648 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 601 of file graph.h.
Referenced by GetInNId(), GetNbrNId(), GetOutNId(), IsInNId(), and operator=().
THashIter TNEGraph::TNodeI::NodeHI [private] |
Definition at line 600 of file graph.h.
Referenced by GetDeg(), GetId(), GetInDeg(), GetInEId(), GetInNId(), GetNbrEId(), GetNbrNId(), GetOutDeg(), GetOutEId(), GetOutNId(), IsInEId(), IsInNId(), IsOutEId(), operator++(), operator<(), operator=(), and operator==().