SNAP Library 2.2, User Reference  2014-03-11 19:15:55
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
gbase.h File Reference

Go to the source code of this file.

Classes

struct  TSnap::IsDirected< TGraph >
 Tests (at compile time) if the graph is directed. More...
struct  TSnap::IsMultiGraph< TGraph >
 Tests (at compile time) if the graph is a multigraph with multiple edges between the same nodes. More...
struct  TSnap::IsNodeDat< TGraph >
 Tests (at compile time) if the graph is a network with data on nodes. More...
struct  TSnap::IsEdgeDat< TGraph >
 Tests (at compile time) if the graph is a network with data on edges. More...
struct  TSnap::IsSources< TGraph >
 Tests (at compile time) if the nodes store only out-edges, but not in-edges. More...
struct  TSnap::IsBipart< TGraph >
 Tests (at compile time) if the graph is a bipartite graph type. More...
class  TSnapQueue< TVal >
 Fast Queue used by the TBreathFS (uses memcpy to move objects TVal around). More...
class  TUnionFind
 Union Find class (Disjoint-set data structure). More...
class  THeap< TVal, TCmp >
 Simple heap data structure. More...

Namespaces

namespace  TSnap
 Main namespace for all the Snap global entities.

Defines

#define Kilo(n)   (1000*(n))
#define Mega(n)   (1000*1000*(n))
#define Giga(n)   (1000*1000*1000*(n))
#define HasGraphFlag(TGraph, Flag)
 For quick testing of the properties of the graph/network object (see TGraphFlag).

Typedefs

typedef enum TGraphFlag_ TGraphFlag
 Graph Flags, used for quick testing of graph types.

Enumerations

enum  TGraphFlag_ {
  gfUndef = 0, gfDirected, gfMultiGraph, gfNodeDat,
  gfEdgeDat, gfSources, gfBipart, gfMx
}
 Graph Flags, used for quick testing of graph types. More...

Functions

TStr TSnap::GetFlagStr (const TGraphFlag &GraphFlag)
 Returns a string representation of a flag.
template<class PGraph >
void TSnap::PrintInfo (const PGraph &Graph, const TStr &Desc="", const TStr &OutFNm="", const bool &Fast=true)
 Prints basic graph statistics.
template<class PGraph >
int64 TSnap::GetTriads (const PGraph &Graph, int64 &ClosedTriadsX, int64 &OpenTriadsX, int SampleNodes)
 Computes the number of Closed and Open triads.
template<class PGraph >
double TSnap::GetBfsEffDiam (const PGraph &Graph, const int &NTestNodes, const bool &IsDir, double &EffDiamX, int &FullDiamX)
 Returns the (approximation of the) Effective Diameter and the Diameter of a graph (by performing BFS from NTestNodes random starting nodes).
template<class PGraph >
double TSnap::GetMxWccSz (const PGraph &Graph)
 Returns the fraction of nodes in the largest weakly connected component of a Graph.
template<class PGraph >
double TSnap::GetMxSccSz (const PGraph &Graph)
 Returns the fraction of nodes in the largest strongly connected component of a Graph.
template<class PGraph >
int TSnap::GetKCoreNodes (const PGraph &Graph, TIntPrV &CoreIdSzV)
 Returns the number of nodes in each core of order K (where K=0, 1, ...)
template<class PGraph >
int TSnap::GetKCoreEdges (const PGraph &Graph, TIntPrV &CoreIdSzV)
 Returns the number of edges in each core of order K (where K=0, 1, ...)

Define Documentation

#define Giga (   n)    (1000*1000*1000*(n))

Definition at line 5 of file gbase.h.

#define HasGraphFlag (   TGraph,
  Flag 
)
Value:

For quick testing of the properties of the graph/network object (see TGraphFlag).

Definition at line 38 of file gbase.h.

#define Kilo (   n)    (1000*(n))

Definition at line 3 of file gbase.h.

#define Mega (   n)    (1000*1000*(n))

Definition at line 4 of file gbase.h.


Typedef Documentation

typedef enum TGraphFlag_ TGraphFlag

Graph Flags, used for quick testing of graph types.

This is very useful for testing graph properties at compile time for partial template specialization as well as compile time assert (CAssert).


Enumeration Type Documentation

Graph Flags, used for quick testing of graph types.

This is very useful for testing graph properties at compile time for partial template specialization as well as compile time assert (CAssert).

Enumerator:
gfUndef 

default value, no flags

gfDirected 

directed graph (TNGraph, TNEGraph), else graph is undirected TUNGraph

gfMultiGraph 

have explicit edges (multigraph): TNEGraph, TNodeEdgeNet

gfNodeDat 

network with data on nodes

gfEdgeDat 

network with data on edges

gfSources 

nodes only store out-edges (but not in-edges). See TBigNet

gfBipart 

bipartite graph

gfMx 

sentinel, last value for iteration

Definition at line 11 of file gbase.h.