Galois
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy > Class Template Reference

Local computation graph (i.e., graph structure does not change). More...

#include <LC_Linear_Graph.h>

Inheritance diagram for galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >:

Classes

class  NodeInfo
 
struct  with_edge_data
 
struct  with_file_edge_data
 
struct  with_id
 
struct  with_no_lockable
 
struct  with_node_data
 
struct  with_numa_alloc
 
struct  with_out_of_line_lockable
 

Public Types

typedef read_with_aux_graph_tag read_tag
 
typedef NodeInfoGraphNode
 
typedef EdgeTy edge_data_type
 
typedef FileEdgeTy file_edge_data_type
 
typedef NodeTy node_data_type
 
typedef NodeInfoTypes::reference node_data_reference
 
typedef EdgeInfo::reference edge_data_reference
 
typedef EdgeInfoedge_iterator
 
typedef NodeInfo ** iterator
 
typedef NodeInfo *const * const_iterator
 
typedef iterator local_iterator
 
typedef const_iterator const_local_iterator
 
typedef int ReadGraphAuxData
 

Public Member Functions

 ~LC_Linear_Graph ()
 
node_data_reference getData (GraphNode N, MethodFlag mflag=MethodFlag::WRITE)
 
edge_data_reference getEdgeData (edge_iterator ni, MethodFlag GALOIS_UNUSED(mflag)=MethodFlag::UNPROTECTED) const
 
GraphNode getEdgeDst (edge_iterator ni) const
 
size_t size () const
 
size_t sizeEdges () const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
local_iterator local_begin ()
 
local_iterator local_end ()
 
const_local_iterator local_begin () const
 
const_local_iterator local_end () const
 
edge_iterator edge_begin (GraphNode N, MethodFlag mflag=MethodFlag::WRITE)
 
edge_iterator edge_end (GraphNode N, MethodFlag mflag=MethodFlag::WRITE)
 
runtime::iterable
< NoDerefIterator
< edge_iterator > > 
edges (GraphNode N, MethodFlag mflag=MethodFlag::WRITE)
 
runtime::iterable
< NoDerefIterator
< edge_iterator > > 
out_edges (GraphNode N, MethodFlag mflag=MethodFlag::WRITE)
 
template<typename CompTy >
void sortEdgesByEdgeData (GraphNode N, const CompTy &comp=std::less< EdgeTy >(), MethodFlag mflag=MethodFlag::WRITE)
 Sorts outgoing edges of a node. More...
 
template<typename CompTy >
void sortEdges (GraphNode N, const CompTy &comp, MethodFlag mflag=MethodFlag::WRITE)
 Sorts outgoing edges of a node. More...
 
void allocateFrom (FileGraph &graph, const ReadGraphAuxData &)
 
void constructNodesFrom (FileGraph &graph, unsigned tid, unsigned total, const ReadGraphAuxData &)
 
void constructEdgesFrom (FileGraph &graph, unsigned tid, unsigned total, const ReadGraphAuxData &)
 

Protected Types

typedef internal::EdgeInfoBase
< NodeInfo *, EdgeTy > 
EdgeInfo
 
typedef LargeArray< NodeInfo * > Nodes
 
typedef
internal::NodeInfoBaseTypes
< NodeTy,!HasNoLockable
&&!HasOutOfLineLockable > 
NodeInfoTypes
 

Protected Member Functions

template<bool _A1 = HasNoLockable, bool _A2 = HasOutOfLineLockable>
void acquireNode (GraphNode N, MethodFlag mflag, typename std::enable_if<!_A1 &&!_A2 >::type *=0)
 
template<bool _A1 = HasOutOfLineLockable, bool _A2 = HasNoLockable>
void acquireNode (GraphNode N, MethodFlag mflag, typename std::enable_if< _A1 &&!_A2 >::type *=0)
 
template<bool _A1 = HasOutOfLineLockable, bool _A2 = HasNoLockable>
void acquireNode (GraphNode, MethodFlag, typename std::enable_if< _A2 >::type *=0)
 
edge_iterator raw_begin (GraphNode N)
 
edge_iterator raw_end (GraphNode N)
 
template<bool _A1 = EdgeInfo::has_value, bool _A2 = LargeArray<FileEdgeTy>::has_value>
void constructEdgeValue (FileGraph &graph, typename FileGraph::edge_iterator nn, EdgeInfo *edge, typename std::enable_if<!_A1||_A2 >::type *=0)
 
template<bool _A1 = EdgeInfo::has_value, bool _A2 = LargeArray<FileEdgeTy>::has_value>
void constructEdgeValue (FileGraph &, typename FileGraph::edge_iterator, EdgeInfo *edge, typename std::enable_if< _A1 &&!_A2 >::type *=0)
 
template<bool _Enable = HasId>
size_t getId (GraphNode N, typename std::enable_if< _Enable >::type *=0)
 
template<bool _Enable = HasId>
GraphNode getNode (size_t n, typename std::enable_if< _Enable >::type *=0)
 

Protected Attributes

LargeArray< char > data
 
uint64_t numNodes
 
uint64_t numEdges
 
Nodes nodes
 

Friends

template<typename Graph >
class LC_InOut_Graph
 

Detailed Description

template<typename NodeTy, typename EdgeTy, bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
class galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >

Local computation graph (i.e., graph structure does not change).

The data representation is a modification of LC_CSR_Graph where the edge data and node data is stored inline with the adjacency information.

The position of template parameters may change between Galois releases; the most robust way to specify them is through the with_XXX nested templates.

Examples:
lonestar/tutorial_examples/SSSPPushSimple.cpp.

Member Typedef Documentation

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef NodeInfo* const* galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::const_iterator
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef const_iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::const_local_iterator
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef EdgeInfo::reference galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::edge_data_reference
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef EdgeTy galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::edge_data_type
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef EdgeInfo* galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::edge_iterator
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef internal::EdgeInfoBase<NodeInfo*, EdgeTy> galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::EdgeInfo
protected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef FileEdgeTy galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::file_edge_data_type
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef NodeInfo* galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::GraphNode
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef NodeInfo** galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::iterator
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::local_iterator
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef NodeInfoTypes::reference galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::node_data_reference
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef NodeTy galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::node_data_type
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef internal::NodeInfoBaseTypes<NodeTy, !HasNoLockable && !HasOutOfLineLockable> galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::NodeInfoTypes
protected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef LargeArray<NodeInfo*> galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::Nodes
protected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef read_with_aux_graph_tag galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::read_tag
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
typedef int galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::ReadGraphAuxData

Constructor & Destructor Documentation

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::~LC_Linear_Graph ( )
inline

Member Function Documentation

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
template<bool _A1 = HasNoLockable, bool _A2 = HasOutOfLineLockable>
void galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::acquireNode ( GraphNode  N,
MethodFlag  mflag,
typename std::enable_if<!_A1 &&!_A2 >::type *  = 0 
)
inlineprotected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
template<bool _A1 = HasOutOfLineLockable, bool _A2 = HasNoLockable>
void galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::acquireNode ( GraphNode  N,
MethodFlag  mflag,
typename std::enable_if< _A1 &&!_A2 >::type *  = 0 
)
inlineprotected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
template<bool _A1 = HasOutOfLineLockable, bool _A2 = HasNoLockable>
void galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::acquireNode ( GraphNode  ,
MethodFlag  ,
typename std::enable_if< _A2 >::type *  = 0 
)
inlineprotected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
void galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::allocateFrom ( FileGraph graph,
const ReadGraphAuxData  
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::begin ( )
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
const_iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::begin ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
void galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::constructEdgesFrom ( FileGraph graph,
unsigned  tid,
unsigned  total,
const ReadGraphAuxData  
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
template<bool _A1 = EdgeInfo::has_value, bool _A2 = LargeArray<FileEdgeTy>::has_value>
void galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::constructEdgeValue ( FileGraph graph,
typename FileGraph::edge_iterator  nn,
EdgeInfo edge,
typename std::enable_if<!_A1||_A2 >::type *  = 0 
)
inlineprotected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
template<bool _A1 = EdgeInfo::has_value, bool _A2 = LargeArray<FileEdgeTy>::has_value>
void galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::constructEdgeValue ( FileGraph ,
typename FileGraph::edge_iterator  ,
EdgeInfo edge,
typename std::enable_if< _A1 &&!_A2 >::type *  = 0 
)
inlineprotected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
void galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::constructNodesFrom ( FileGraph graph,
unsigned  tid,
unsigned  total,
const ReadGraphAuxData  
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
edge_iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::edge_begin ( GraphNode  N,
MethodFlag  mflag = MethodFlag::WRITE 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
edge_iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::edge_end ( GraphNode  N,
MethodFlag  mflag = MethodFlag::WRITE 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
runtime::iterable<NoDerefIterator<edge_iterator> > galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::edges ( GraphNode  N,
MethodFlag  mflag = MethodFlag::WRITE 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::end ( )
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
const_iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::end ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
node_data_reference galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::getData ( GraphNode  N,
MethodFlag  mflag = MethodFlag::WRITE 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
edge_data_reference galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::getEdgeData ( edge_iterator  ni,
MethodFlag   GALOIS_UNUSEDmflag = MethodFlag::UNPROTECTED 
) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
GraphNode galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::getEdgeDst ( edge_iterator  ni) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
template<bool _Enable = HasId>
size_t galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::getId ( GraphNode  N,
typename std::enable_if< _Enable >::type *  = 0 
)
inlineprotected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
template<bool _Enable = HasId>
GraphNode galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::getNode ( size_t  n,
typename std::enable_if< _Enable >::type *  = 0 
)
inlineprotected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
local_iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::local_begin ( )
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
const_local_iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::local_begin ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
local_iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::local_end ( )
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
const_local_iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::local_end ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
runtime::iterable<NoDerefIterator<edge_iterator> > galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::out_edges ( GraphNode  N,
MethodFlag  mflag = MethodFlag::WRITE 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
edge_iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::raw_begin ( GraphNode  N)
inlineprotected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
edge_iterator galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::raw_end ( GraphNode  N)
inlineprotected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
size_t galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::size ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
size_t galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::sizeEdges ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
template<typename CompTy >
void galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::sortEdges ( GraphNode  N,
const CompTy &  comp,
MethodFlag  mflag = MethodFlag::WRITE 
)
inline

Sorts outgoing edges of a node.

Comparison function is over EdgeSortValue<EdgeTy>.

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
template<typename CompTy >
void galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::sortEdgesByEdgeData ( GraphNode  N,
const CompTy &  comp = std::less<EdgeTy>(),
MethodFlag  mflag = MethodFlag::WRITE 
)
inline

Sorts outgoing edges of a node.

Comparison function is over EdgeTy.

Friends And Related Function Documentation

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
template<typename Graph >
friend class LC_InOut_Graph
friend

Member Data Documentation

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
LargeArray<char> galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::data
protected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
Nodes galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::nodes
protected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
uint64_t galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::numEdges
protected
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool UseNumaAlloc = false, bool HasOutOfLineLockable = false, bool HasId = false, typename FileEdgeTy = EdgeTy>
uint64_t galois::graphs::LC_Linear_Graph< NodeTy, EdgeTy, HasNoLockable, UseNumaAlloc, HasOutOfLineLockable, HasId, FileEdgeTy >::numNodes
protected

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