SNAP Library 3.0, User Reference  2016-07-20 17:56:49
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
TNodeNet< TNodeData >::TNodeI Class Reference

Node iterator. Only forward iteration (operator++) is supported. More...

#include <network.h>

Public Member Functions

 TNodeI ()
 
 TNodeI (const THashIter &NodeHIter, const TNodeNet *NetPt)
 
 TNodeI (const TNodeI &NodeI)
 
TNodeIoperator= (const TNodeI &NodeI)
 
TNodeIoperator++ (int)
 Increment iterator. More...
 
bool operator< (const TNodeI &NodeI) const
 
bool operator== (const TNodeI &NodeI) const
 
int GetId () const
 Returns ID of the current node. More...
 
int GetDeg () const
 Returns degree of the current node. More...
 
int GetInDeg () const
 Returns in-degree of the current node. More...
 
int GetOutDeg () const
 Returns out-degree of the current node. More...
 
int GetInNId (const int &NodeN) const
 Returns ID of NodeN-th in-node (the node pointing to the current node). More...
 
int GetOutNId (const int &NodeN) const
 Returns ID of NodeN-th out-node (the node the current node points to). More...
 
int GetNbrNId (const int &NodeN) const
 Returns ID of NodeN-th neighboring node. More...
 
bool IsInNId (const int &NId) const
 Tests whether node with ID NId points to the current node. More...
 
bool IsOutNId (const int &NId) const
 Tests whether the current node points to node with ID NId. More...
 
bool IsNbrNId (const int &NId) const
 Tests whether node with ID NId is a neighbor of the current node. More...
 
const TNodeData & operator() () const
 
TNodeData & operator() ()
 
const TNodeData & GetDat () const
 
TNodeData & GetDat ()
 
const TNodeData & GetInNDat (const int &NodeN) const
 
TNodeData & GetInNDat (const int &NodeN)
 
const TNodeData & GetOutNDat (const int &NodeN) const
 
TNodeData & GetOutNDat (const int &NodeN)
 
const TNodeData & GetNbrNDat (const int &NodeN) const
 
TNodeData & GetNbrNDat (const int &NodeN)
 

Private Types

typedef THash< TInt, TNode >::TIter THashIter
 

Private Attributes

THashIter NodeHI
 
TNodeNetNet
 

Friends

class TNodeNet< TNodeData >
 

Detailed Description

template<class TNodeData>
class TNodeNet< TNodeData >::TNodeI

Node iterator. Only forward iteration (operator++) is supported.

Definition at line 52 of file network.h.

Member Typedef Documentation

template<class TNodeData>
typedef THash<TInt, TNode>::TIter TNodeNet< TNodeData >::TNodeI::THashIter
private

Definition at line 54 of file network.h.

Constructor & Destructor Documentation

template<class TNodeData>
TNodeNet< TNodeData >::TNodeI::TNodeI ( )
inline

Definition at line 58 of file network.h.

58 : NodeHI(), Net(NULL) { }
THashIter NodeHI
Definition: network.h:55
TNodeNet * Net
Definition: network.h:56
template<class TNodeData>
TNodeNet< TNodeData >::TNodeI::TNodeI ( const THashIter NodeHIter,
const TNodeNet NetPt 
)
inline

Definition at line 59 of file network.h.

59 : NodeHI(NodeHIter), Net((TNodeNet *) NetPt) { }
THashIter NodeHI
Definition: network.h:55
TNodeNet * Net
Definition: network.h:56
Node Network (directed graph, TNGraph with data on nodes only).
Definition: network.h:17
template<class TNodeData>
TNodeNet< TNodeData >::TNodeI::TNodeI ( const TNodeI NodeI)
inline

Definition at line 60 of file network.h.

60 : NodeHI(NodeI.NodeHI), Net(NodeI.Net) { }
THashIter NodeHI
Definition: network.h:55
TNodeNet * Net
Definition: network.h:56

Member Function Documentation

template<class TNodeData>
const TNodeData& TNodeNet< TNodeData >::TNodeI::GetDat ( ) const
inline

Definition at line 95 of file network.h.

95 { return NodeHI.GetDat().GetDat(); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
TNodeData& TNodeNet< TNodeData >::TNodeI::GetDat ( )
inline

Definition at line 96 of file network.h.

96 { return NodeHI.GetDat().GetDat(); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
int TNodeNet< TNodeData >::TNodeI::GetDeg ( ) const
inline

Returns degree of the current node.

Definition at line 70 of file network.h.

70 { return NodeHI.GetDat().GetDeg(); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
int TNodeNet< TNodeData >::TNodeI::GetId ( ) const
inline

Returns ID of the current node.

Definition at line 68 of file network.h.

68 { return NodeHI.GetDat().GetId(); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
int TNodeNet< TNodeData >::TNodeI::GetInDeg ( ) const
inline

Returns in-degree of the current node.

Definition at line 72 of file network.h.

72 { return NodeHI.GetDat().GetInDeg(); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
const TNodeData& TNodeNet< TNodeData >::TNodeI::GetInNDat ( const int &  NodeN) const
inline

Definition at line 97 of file network.h.

97 { return Net->GetNDat(GetInNId(NodeN)); }
TNodeData & GetNDat(const int &NId)
Returns node data for the node of ID NId in the network.
Definition: network.h:194
int GetInNId(const int &NodeN) const
Returns ID of NodeN-th in-node (the node pointing to the current node).
Definition: network.h:78
TNodeNet * Net
Definition: network.h:56
template<class TNodeData>
TNodeData& TNodeNet< TNodeData >::TNodeI::GetInNDat ( const int &  NodeN)
inline

Definition at line 98 of file network.h.

98 { return Net->GetNDat(GetInNId(NodeN)); }
TNodeData & GetNDat(const int &NId)
Returns node data for the node of ID NId in the network.
Definition: network.h:194
int GetInNId(const int &NodeN) const
Returns ID of NodeN-th in-node (the node pointing to the current node).
Definition: network.h:78
TNodeNet * Net
Definition: network.h:56
template<class TNodeData>
int TNodeNet< TNodeData >::TNodeI::GetInNId ( const int &  NodeN) const
inline

Returns ID of NodeN-th in-node (the node pointing to the current node).

Range of NodeN: 0 <= NodeN < GetInDeg().

Definition at line 78 of file network.h.

78 { return NodeHI.GetDat().GetInNId(NodeN); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
const TNodeData& TNodeNet< TNodeData >::TNodeI::GetNbrNDat ( const int &  NodeN) const
inline

Definition at line 101 of file network.h.

101 { return Net->GetNDat(GetNbrNId(NodeN)); }
TNodeData & GetNDat(const int &NId)
Returns node data for the node of ID NId in the network.
Definition: network.h:194
TNodeNet * Net
Definition: network.h:56
int GetNbrNId(const int &NodeN) const
Returns ID of NodeN-th neighboring node.
Definition: network.h:86
template<class TNodeData>
TNodeData& TNodeNet< TNodeData >::TNodeI::GetNbrNDat ( const int &  NodeN)
inline

Definition at line 102 of file network.h.

102 { return Net->GetNDat(GetNbrNId(NodeN)); }
TNodeData & GetNDat(const int &NId)
Returns node data for the node of ID NId in the network.
Definition: network.h:194
TNodeNet * Net
Definition: network.h:56
int GetNbrNId(const int &NodeN) const
Returns ID of NodeN-th neighboring node.
Definition: network.h:86
template<class TNodeData>
int TNodeNet< TNodeData >::TNodeI::GetNbrNId ( const int &  NodeN) const
inline

Returns ID of NodeN-th neighboring node.

Range of NodeN: 0 <= NodeN < GetNbrDeg().

Definition at line 86 of file network.h.

86 { return NodeHI.GetDat().GetNbrNId(NodeN); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
int TNodeNet< TNodeData >::TNodeI::GetOutDeg ( ) const
inline

Returns out-degree of the current node.

Definition at line 74 of file network.h.

74 { return NodeHI.GetDat().GetOutDeg(); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
const TNodeData& TNodeNet< TNodeData >::TNodeI::GetOutNDat ( const int &  NodeN) const
inline

Definition at line 99 of file network.h.

99 { return Net->GetNDat(GetOutNId(NodeN)); }
TNodeData & GetNDat(const int &NId)
Returns node data for the node of ID NId in the network.
Definition: network.h:194
TNodeNet * Net
Definition: network.h:56
int GetOutNId(const int &NodeN) const
Returns ID of NodeN-th out-node (the node the current node points to).
Definition: network.h:82
template<class TNodeData>
TNodeData& TNodeNet< TNodeData >::TNodeI::GetOutNDat ( const int &  NodeN)
inline

Definition at line 100 of file network.h.

100 { return Net->GetNDat(GetOutNId(NodeN)); }
TNodeData & GetNDat(const int &NId)
Returns node data for the node of ID NId in the network.
Definition: network.h:194
TNodeNet * Net
Definition: network.h:56
int GetOutNId(const int &NodeN) const
Returns ID of NodeN-th out-node (the node the current node points to).
Definition: network.h:82
template<class TNodeData>
int TNodeNet< TNodeData >::TNodeI::GetOutNId ( const int &  NodeN) const
inline

Returns ID of NodeN-th out-node (the node the current node points to).

Range of NodeN: 0 <= NodeN < GetOutDeg().

Definition at line 82 of file network.h.

82 { return NodeHI.GetDat().GetOutNId(NodeN); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
bool TNodeNet< TNodeData >::TNodeI::IsInNId ( const int &  NId) const
inline

Tests whether node with ID NId points to the current node.

Definition at line 88 of file network.h.

88 { return NodeHI.GetDat().IsInNId(NId); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
bool TNodeNet< TNodeData >::TNodeI::IsNbrNId ( const int &  NId) const
inline

Tests whether node with ID NId is a neighbor of the current node.

Definition at line 92 of file network.h.

92 { return IsOutNId(NId) || IsInNId(NId); }
bool IsOutNId(const int &NId) const
Tests whether the current node points to node with ID NId.
Definition: network.h:90
bool IsInNId(const int &NId) const
Tests whether node with ID NId points to the current node.
Definition: network.h:88
template<class TNodeData>
bool TNodeNet< TNodeData >::TNodeI::IsOutNId ( const int &  NId) const
inline

Tests whether the current node points to node with ID NId.

Definition at line 90 of file network.h.

90 { return NodeHI.GetDat().IsOutNId(NId); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
const TNodeData& TNodeNet< TNodeData >::TNodeI::operator() ( ) const
inline

Definition at line 93 of file network.h.

93 { return NodeHI.GetDat().NodeDat; }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
TNodeData& TNodeNet< TNodeData >::TNodeI::operator() ( )
inline

Definition at line 94 of file network.h.

94 { return NodeHI.GetDat().GetDat(); }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
TNodeI& TNodeNet< TNodeData >::TNodeI::operator++ ( int  )
inline

Increment iterator.

Definition at line 63 of file network.h.

63 { NodeHI++; return *this; }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
bool TNodeNet< TNodeData >::TNodeI::operator< ( const TNodeI NodeI) const
inline

Definition at line 64 of file network.h.

64 { return NodeHI < NodeI.NodeHI; }
THashIter NodeHI
Definition: network.h:55
template<class TNodeData>
TNodeI& TNodeNet< TNodeData >::TNodeI::operator= ( const TNodeI NodeI)
inline

Definition at line 61 of file network.h.

61 { NodeHI=NodeI.NodeHI; Net=NodeI.Net; return *this; }
THashIter NodeHI
Definition: network.h:55
TNodeNet * Net
Definition: network.h:56
template<class TNodeData>
bool TNodeNet< TNodeData >::TNodeI::operator== ( const TNodeI NodeI) const
inline

Definition at line 65 of file network.h.

65 { return NodeHI == NodeI.NodeHI; }
THashIter NodeHI
Definition: network.h:55

Friends And Related Function Documentation

template<class TNodeData>
friend class TNodeNet< TNodeData >
friend

Definition at line 103 of file network.h.

Member Data Documentation

template<class TNodeData>
TNodeNet* TNodeNet< TNodeData >::TNodeI::Net
private

Definition at line 56 of file network.h.

template<class TNodeData>
THashIter TNodeNet< TNodeData >::TNodeI::NodeHI
private

Definition at line 55 of file network.h.


The documentation for this class was generated from the following file: