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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
TBigNet< TNodeData, IsDir >::TNodeI Class Reference

Node iterator. More...

#include <bignet.h>

Collaboration diagram for TBigNet< TNodeData, IsDir >::TNodeI:

List of all members.

Public Member Functions

void GetInOutNIdV ()
int GetInVId () const
int GetOutVId () const
 TNodeI ()
 TNodeI (const THashIter &NodeHIter, TVPool *PoolPt)
 TNodeI (const TNodeI &NodeI)
TNodeIoperator= (const TNodeI &NI)
TNodeIoperator++ (int)
 Increment iterator.
bool operator< (const TNodeI &NI) const
bool operator== (const TNodeI &NI) const
int GetId () const
int GetDeg () const
int GetInDeg () const
int GetOutDeg () const
int GetInNId (const int &NodeN) const
int GetOutNId (const int &NodeN) const
int GetOutNbrId (const int &NodeN) const
bool IsInNId (const int &NId) const
bool IsOutNId (const int &NId) const
bool IsNbrNId (const int &NId) const
const TNodeData & operator() () const
TNodeData & operator() ()
const TNodeData & GetDat () const
TNodeData & GetDat ()
void Dump () const

Protected Types

typedef TNodeH::TIter THashIter

Protected Attributes

THashIter NodeHI
TVPoolPool
int InDeg
int OutDeg
int * InNIdV
int * OutNIdV

Friends

class TBigNet< TNodeData, IsDir >

Detailed Description

template<class TNodeData, bool IsDir>
class TBigNet< TNodeData, IsDir >::TNodeI

Node iterator.

Only forward iteration (operator++) is supported.

Definition at line 50 of file bignet.h.


Member Typedef Documentation

template<class TNodeData, bool IsDir>
typedef TNodeH::TIter TBigNet< TNodeData, IsDir >::TNodeI::THashIter [protected]

Definition at line 52 of file bignet.h.


Constructor & Destructor Documentation

template<class TNodeData, bool IsDir>
TBigNet< TNodeData, IsDir >::TNodeI::TNodeI ( ) [inline]

Definition at line 61 of file bignet.h.

: NodeHI(), Pool(NULL), InDeg(0), OutDeg(0), InNIdV(NULL), OutNIdV(NULL) { }
template<class TNodeData, bool IsDir>
TBigNet< TNodeData, IsDir >::TNodeI::TNodeI ( const THashIter NodeHIter,
TVPool PoolPt 
) [inline]

Definition at line 62 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::GetInOutNIdV().

: NodeHI(NodeHIter), Pool(PoolPt) { GetInOutNIdV(); }

Here is the call graph for this function:

template<class TNodeData, bool IsDir>
TBigNet< TNodeData, IsDir >::TNodeI::TNodeI ( const TNodeI NodeI) [inline]

Definition at line 63 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::GetInOutNIdV().

: NodeHI(NodeI.NodeHI), Pool(NodeI.Pool) { GetInOutNIdV(); }

Here is the call graph for this function:


Member Function Documentation

template<class TNodeData , bool IsDir>
void TBigNet< TNodeData, IsDir >::TNodeI::Dump ( ) const

Definition at line 237 of file bignet.h.

                                                 {
  printf("NodeId: %d\n", GetId());
  printf("  I:%4d]", GetInDeg());
  for (int i = 0; i < GetInDeg(); i++) { printf("  %d", GetInNId(i)); }
  printf("\n  O:%4d]", GetOutDeg());
  for (int i = 0; i < GetOutDeg(); i++) { printf("  %d", GetOutNId(i)); }
  printf("\n");
}
template<class TNodeData, bool IsDir>
const TNodeData& TBigNet< TNodeData, IsDir >::TNodeI::GetDat ( ) const [inline]

Definition at line 81 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::NodeHI.

Referenced by TBigNet< TNodeData, IsDir >::TNodeI::operator()().

{ return NodeHI->Dat.Dat; }

Here is the caller graph for this function:

template<class TNodeData, bool IsDir>
TNodeData& TBigNet< TNodeData, IsDir >::TNodeI::GetDat ( ) [inline]

Definition at line 82 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::NodeHI.

{ return NodeHI->Dat.Dat; }
template<class TNodeData, bool IsDir>
int TBigNet< TNodeData, IsDir >::TNodeI::GetDeg ( ) const [inline]
template<class TNodeData, bool IsDir>
int TBigNet< TNodeData, IsDir >::TNodeI::GetId ( ) const [inline]

Definition at line 69 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::NodeHI.

Referenced by TBigNet< TNodeData, IsDir >::TEdgeI::GetSrcNId(), TBigNet< TNodeData, IsDir >::IsOk(), and TBigNet< TNodeData, IsDir >::Rewire().

{ return NodeHI->Key(); }

Here is the caller graph for this function:

template<class TNodeData, bool IsDir>
int TBigNet< TNodeData, IsDir >::TNodeI::GetInDeg ( ) const [inline]
template<class TNodeData, bool IsDir>
int TBigNet< TNodeData, IsDir >::TNodeI::GetInNId ( const int &  NodeN) const [inline]

Definition at line 73 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::InNIdV.

Referenced by TBigNet< TNodeData, IsDir >::GetSubGraph(), TBigNet< TNodeData, IsDir >::GetSubNGraph(), and TBigNet< TNodeData, IsDir >::IsOk().

{ return InNIdV[NodeN]; }

Here is the caller graph for this function:

template<class TNodeData, bool IsDir>
int TBigNet< TNodeData, IsDir >::TNodeI::GetInVId ( ) const [inline]

Definition at line 58 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::NodeHI.

Referenced by TBigNet< TNodeData, IsDir >::GetSubGraph().

{ return NodeHI->Dat.InVId; }

Here is the caller graph for this function:

template<class TNodeData, bool IsDir>
int TBigNet< TNodeData, IsDir >::TNodeI::GetOutNbrId ( const int &  NodeN) const [inline]
template<class TNodeData, bool IsDir>
int TBigNet< TNodeData, IsDir >::TNodeI::GetOutNId ( const int &  NodeN) const [inline]
template<class TNodeData, bool IsDir>
int TBigNet< TNodeData, IsDir >::TNodeI::GetOutVId ( ) const [inline]

Definition at line 59 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::NodeHI.

Referenced by TBigNet< TNodeData, IsDir >::GetSubGraph().

{ return NodeHI->Dat.OutVId; }

Here is the caller graph for this function:

template<class TNodeData, bool IsDir>
bool TBigNet< TNodeData, IsDir >::TNodeI::IsInNId ( const int &  NId) const [inline]

Definition at line 76 of file bignet.h.

References TBigNet< TNodeData, IsDir >::BinSearch(), TBigNet< TNodeData, IsDir >::TNodeI::InDeg, and TBigNet< TNodeData, IsDir >::TNodeI::InNIdV.

Referenced by TBigNet< TNodeData, IsDir >::TNodeI::IsNbrNId(), and TBigNet< TNodeData, IsDir >::Rewire().

{ return BinSearch(InNIdV, InNIdV+InDeg, NId)!=NULL; }

Here is the call graph for this function:

Here is the caller graph for this function:

template<class TNodeData, bool IsDir>
bool TBigNet< TNodeData, IsDir >::TNodeI::IsNbrNId ( const int &  NId) const [inline]

Definition at line 78 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::IsInNId(), and TBigNet< TNodeData, IsDir >::TNodeI::IsOutNId().

{ return IsOutNId(NId) || IsInNId(NId); }

Here is the call graph for this function:

template<class TNodeData, bool IsDir>
bool TBigNet< TNodeData, IsDir >::TNodeI::IsOutNId ( const int &  NId) const [inline]

Definition at line 77 of file bignet.h.

References TBigNet< TNodeData, IsDir >::BinSearch(), TBigNet< TNodeData, IsDir >::TNodeI::OutDeg, and TBigNet< TNodeData, IsDir >::TNodeI::OutNIdV.

Referenced by TBigNet< TNodeData, IsDir >::TNodeI::IsNbrNId().

{ return BinSearch(OutNIdV, OutNIdV+OutDeg, NId)!=NULL; }

Here is the call graph for this function:

Here is the caller graph for this function:

template<class TNodeData, bool IsDir>
const TNodeData& TBigNet< TNodeData, IsDir >::TNodeI::operator() ( ) const [inline]

Definition at line 79 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::GetDat().

{ return GetDat(); }

Here is the call graph for this function:

template<class TNodeData, bool IsDir>
TNodeData& TBigNet< TNodeData, IsDir >::TNodeI::operator() ( ) [inline]

Definition at line 80 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::GetDat().

{ return GetDat(); }

Here is the call graph for this function:

template<class TNodeData, bool IsDir>
TNodeI& TBigNet< TNodeData, IsDir >::TNodeI::operator++ ( int  ) [inline]

Increment iterator.

Definition at line 66 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::GetInOutNIdV(), and TBigNet< TNodeData, IsDir >::TNodeI::NodeHI.

{ NodeHI++; GetInOutNIdV(); return *this; }

Here is the call graph for this function:

template<class TNodeData, bool IsDir>
bool TBigNet< TNodeData, IsDir >::TNodeI::operator< ( const TNodeI NI) const [inline]

Definition at line 67 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::NodeHI.

{ return NodeHI < NI.NodeHI; }
template<class TNodeData, bool IsDir>
TNodeI& TBigNet< TNodeData, IsDir >::TNodeI::operator= ( const TNodeI NI) [inline]

Definition at line 64 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::GetInOutNIdV(), TBigNet< TNodeData, IsDir >::TNodeI::NodeHI, and TBigNet< TNodeData, IsDir >::TNodeI::Pool.

{ NodeHI=NI.NodeHI; Pool=NI.Pool; GetInOutNIdV(); return *this; }

Here is the call graph for this function:

template<class TNodeData, bool IsDir>
bool TBigNet< TNodeData, IsDir >::TNodeI::operator== ( const TNodeI NI) const [inline]

Definition at line 68 of file bignet.h.

References TBigNet< TNodeData, IsDir >::TNodeI::NodeHI.

{ return NodeHI == NI.NodeHI; }

Friends And Related Function Documentation

template<class TNodeData, bool IsDir>
friend class TBigNet< TNodeData, IsDir > [friend]

Definition at line 91 of file bignet.h.


Member Data Documentation

template<class TNodeData, bool IsDir>
int TBigNet< TNodeData, IsDir >::TNodeI::InDeg [protected]
template<class TNodeData, bool IsDir>
TVPool* TBigNet< TNodeData, IsDir >::TNodeI::Pool [protected]

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