SNAP Library 4.0, Developer Reference  2017-07-27 13:18:06
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
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 3798 of file network.h.

Constructor & Destructor Documentation

TDirNet::TEdgeI::TEdgeI ( )
inline

Definition at line 3803 of file network.h.

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

Definition at line 3804 of file network.h.

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

Definition at line 3805 of file network.h.

3805 : CurNode(EdgeI.CurNode), EndNode(EdgeI.EndNode), CurEdge(EdgeI.CurEdge) { }
TNodeI CurNode
Definition: network.h:3800
TNodeI EndNode
Definition: network.h:3800

Member Function Documentation

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

Returns the destination node of the edge.

Definition at line 3817 of file network.h.

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

3817 { 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:3784
TNodeI CurNode
Definition: network.h:3800

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 3813 of file network.h.

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

Returns the source node of the edge.

Definition at line 3815 of file network.h.

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

3815 { return CurNode.GetId(); }
TNodeI CurNode
Definition: network.h:3800
int GetId() const
Returns ID of the current node.
Definition: network.h:3768

Here is the caller graph for this function:

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

Increment iterator.

Definition at line 3808 of file network.h.

3808  { CurEdge++; if (CurEdge >= CurNode.GetOutDeg()) { CurEdge=0; CurNode++;
3809  while (CurNode < EndNode && CurNode.GetOutDeg()==0) { CurNode++; } } return *this; }
TNodeI CurNode
Definition: network.h:3800
TNodeI EndNode
Definition: network.h:3800
int GetOutDeg() const
Returns out-degree of the current node.
Definition: network.h:3774
bool TDirNet::TEdgeI::operator< ( const TEdgeI EdgeI) const
inline

Definition at line 3810 of file network.h.

References CurEdge, and CurNode.

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

Definition at line 3806 of file network.h.

References CurEdge, CurNode, and EndNode.

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

Definition at line 3811 of file network.h.

References CurEdge, and CurNode.

3811 { return CurNode == EdgeI.CurNode && CurEdge == EdgeI.CurEdge; }
TNodeI CurNode
Definition: network.h:3800

Friends And Related Function Documentation

friend class TDirNet
friend

Definition at line 3818 of file network.h.

Member Data Documentation

int TDirNet::TEdgeI::CurEdge
private

Definition at line 3801 of file network.h.

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

TNodeI TDirNet::TEdgeI::CurNode
private

Definition at line 3800 of file network.h.

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

TNodeI TDirNet::TEdgeI::EndNode
private

Definition at line 3800 of file network.h.

Referenced by operator=().


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