SNAP Library 6.0, Developer Reference  2020-12-09 16:24:20
SNAP, a general purpose, high performance system for analysis and manipulation of large networks
TDirNet::TEdgeI Class Reference

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

#include <network.h>

Collaboration diagram for TDirNet::TEdgeI:

Public Member Functions

 TEdgeI ()
 
 TEdgeI (const TNodeI &NodeI, const TNodeI &EndNodeI, const int &EdgeN=0)
 
 TEdgeI (const TEdgeI &EdgeI)
 
TEdgeIoperator= (const TEdgeI &EdgeI)
 
TEdgeIoperator++ (int)
 Increment iterator. More...
 
bool operator< (const TEdgeI &EdgeI) const
 
bool operator== (const TEdgeI &EdgeI) const
 
int GetId () const
 Returns edge ID. Always returns -1 since only edges in multigraphs have explicit IDs. More...
 
int GetSrcNId () const
 Returns the source node of the edge. More...
 
int GetDstNId () const
 Returns the destination node of the edge. More...
 

Private Attributes

TNodeI CurNode
 
TNodeI EndNode
 
int CurEdge
 

Friends

class TDirNet
 

Detailed Description

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

Definition at line 4050 of file network.h.

Constructor & Destructor Documentation

TDirNet::TEdgeI::TEdgeI ( )
inline

Definition at line 4055 of file network.h.

4055 : CurNode(), EndNode(), CurEdge(0) { }
TNodeI CurNode
Definition: network.h:4052
TNodeI EndNode
Definition: network.h:4052
TDirNet::TEdgeI::TEdgeI ( const TNodeI NodeI,
const TNodeI EndNodeI,
const int &  EdgeN = 0 
)
inline

Definition at line 4056 of file network.h.

4056 : CurNode(NodeI), EndNode(EndNodeI), CurEdge(EdgeN) { }
TNodeI CurNode
Definition: network.h:4052
TNodeI EndNode
Definition: network.h:4052
TDirNet::TEdgeI::TEdgeI ( const TEdgeI EdgeI)
inline

Definition at line 4057 of file network.h.

4057 : CurNode(EdgeI.CurNode), EndNode(EdgeI.EndNode), CurEdge(EdgeI.CurEdge) { }
TNodeI CurNode
Definition: network.h:4052
TNodeI EndNode
Definition: network.h:4052

Member Function Documentation

int TDirNet::TEdgeI::GetDstNId ( ) const
inline

Returns the destination node of the edge.

Definition at line 4069 of file network.h.

References TDirNet::TNodeI::GetOutNId().

Referenced by TDirNet::AddEdge(), TDirNet::AddSAttrDatE(), TDirNet::DelSAttrDatE(), TDirNet::GetSAttrDatE(), and TDirNet::GetSAttrVE().

4069 { return CurNode.GetOutNId(CurEdge); }
int GetOutNId(const int &NodeN) const
Returns ID of NodeN-th out-node (the node the current node points to).
Definition: network.h:4036
TNodeI CurNode
Definition: network.h:4052

Here is the call graph for this function:

Here is the caller graph for this function:

int TDirNet::TEdgeI::GetId ( ) const
inline

Returns edge ID. Always returns -1 since only edges in multigraphs have explicit IDs.

Definition at line 4065 of file network.h.

4065 { return -1; }
int TDirNet::TEdgeI::GetSrcNId ( ) const
inline

Returns the source node of the edge.

Definition at line 4067 of file network.h.

References TDirNet::TNodeI::GetId().

Referenced by TDirNet::AddEdge(), TDirNet::AddSAttrDatE(), TDirNet::DelSAttrDatE(), TDirNet::GetSAttrDatE(), and TDirNet::GetSAttrVE().

4067 { return CurNode.GetId(); }
TNodeI CurNode
Definition: network.h:4052
int GetId() const
Returns ID of the current node.
Definition: network.h:4020

Here is the call graph for this function:

Here is the caller graph for this function:

TEdgeI& TDirNet::TEdgeI::operator++ ( int  )
inline

Increment iterator.

Definition at line 4060 of file network.h.

References TDirNet::TNodeI::GetOutDeg().

4060  { CurEdge++; if (CurEdge >= CurNode.GetOutDeg()) { CurEdge=0; CurNode++;
4061  while (CurNode < EndNode && CurNode.GetOutDeg()==0) { CurNode++; } } return *this; }
TNodeI CurNode
Definition: network.h:4052
TNodeI EndNode
Definition: network.h:4052
int GetOutDeg() const
Returns out-degree of the current node.
Definition: network.h:4026

Here is the call graph for this function:

bool TDirNet::TEdgeI::operator< ( const TEdgeI EdgeI) const
inline

Definition at line 4062 of file network.h.

References CurEdge, and CurNode.

4062 { return CurNode<EdgeI.CurNode || (CurNode==EdgeI.CurNode && CurEdge<EdgeI.CurEdge); }
TNodeI CurNode
Definition: network.h:4052
TEdgeI& TDirNet::TEdgeI::operator= ( const TEdgeI EdgeI)
inline

Definition at line 4058 of file network.h.

References CurEdge, CurNode, and EndNode.

4058 { if (this!=&EdgeI) { CurNode=EdgeI.CurNode; EndNode=EdgeI.EndNode; CurEdge=EdgeI.CurEdge; } return *this; }
TNodeI CurNode
Definition: network.h:4052
TNodeI EndNode
Definition: network.h:4052
bool TDirNet::TEdgeI::operator== ( const TEdgeI EdgeI) const
inline

Definition at line 4063 of file network.h.

References CurEdge, and CurNode.

4063 { return CurNode == EdgeI.CurNode && CurEdge == EdgeI.CurEdge; }
TNodeI CurNode
Definition: network.h:4052

Friends And Related Function Documentation

friend class TDirNet
friend

Definition at line 4070 of file network.h.

Member Data Documentation

int TDirNet::TEdgeI::CurEdge
private

Definition at line 4053 of file network.h.

Referenced by operator<(), operator=(), and operator==().

TNodeI TDirNet::TEdgeI::CurNode
private

Definition at line 4052 of file network.h.

Referenced by operator<(), operator=(), and operator==().

TNodeI TDirNet::TEdgeI::EndNode
private

Definition at line 4052 of file network.h.

Referenced by operator=().


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