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

#include <OCGraph.h>

Inheritance diagram for galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >:

Classes

class  segment_type
 
struct  with_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_oc_immutable_edge_graph_tag 
read_tag
 
typedef int tt_is_segmented
 
typedef OCFileGraph::GraphNode GraphNode
 
typedef EdgeTy edge_data_type
 
typedef edge_data_type file_edge_data_type
 
typedef NodeTy node_data_type
 
typedef OCFileGraph::template
EdgeReference< EdgeTy >::type 
edge_data_reference
 
typedef NodeInfo::reference node_data_reference
 
typedef OCFileGraph::edge_iterator edge_iterator
 
typedef edge_iterator in_edge_iterator
 
typedef OCFileGraph::iterator iterator
 
typedef iterator const_iterator
 
typedef
boost::counting_iterator
< GraphNode
local_iterator
 
typedef local_iterator const_local_iterator
 

Public Member Functions

 ~OCImmutableEdgeGraph ()
 
void keepInMemory ()
 
segment_type nextSegment (size_t edges)
 Returns a segment starting from the beginning of the graph with either (1) some number of nodes with all their edges but no more than numEdges else (2) one node and all its edges. More...
 
segment_type nextSegment (const segment_type &cur, size_t edges)
 Returns the next segment after cur. More...
 
void load (segment_type &seg)
 
void unload (segment_type &seg)
 
iterator begin (const segment_type &cur)
 
iterator end (const segment_type &cur)
 
node_data_reference getData (GraphNode N, MethodFlag mflag=MethodFlag::WRITE)
 
edge_data_reference getEdgeData (const segment_type &segment, edge_iterator ni, MethodFlag GALOIS_UNUSED(mflag)=MethodFlag::UNPROTECTED)
 
GraphNode getEdgeDst (const segment_type &segment, edge_iterator ni)
 
size_t size () const
 
size_t sizeEdges () const
 
iterator begin () const
 
iterator end () const
 
const_local_iterator local_begin () const
 
const_local_iterator local_end () const
 
local_iterator local_begin ()
 
local_iterator local_end ()
 
edge_iterator edge_begin (const segment_type &segment, GraphNode N, MethodFlag mflag=MethodFlag::WRITE)
 
edge_iterator edge_end (const segment_type &, GraphNode N, MethodFlag mflag=MethodFlag::WRITE)
 
edge_data_reference getInEdgeData (const segment_type &segment, edge_iterator ni, MethodFlag GALOIS_UNUSED(mflag)=MethodFlag::UNPROTECTED)
 
GraphNode getInEdgeDst (const segment_type &segment, in_edge_iterator ni)
 
in_edge_iterator in_edge_begin (const segment_type &segment, GraphNode N, MethodFlag mflag=MethodFlag::WRITE)
 
in_edge_iterator in_edge_end (const segment_type &, GraphNode N, MethodFlag mflag=MethodFlag::WRITE)
 
size_t idFromNode (GraphNode N)
 
GraphNode nodeFromId (size_t N)
 
void createFrom (const std::string &fname)
 Assumes that the graph is symmetric. More...
 
void createFrom (const std::string &fname, const std::string &transpose)
 

Member Typedef Documentation

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::const_iterator
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef local_iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::const_local_iterator
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef OCFileGraph::template EdgeReference<EdgeTy>::type galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::edge_data_reference
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef EdgeTy galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::edge_data_type
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef OCFileGraph::edge_iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::edge_iterator
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef edge_data_type galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::file_edge_data_type
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef OCFileGraph::GraphNode galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::GraphNode
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef edge_iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::in_edge_iterator
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef OCFileGraph::iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::iterator
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef boost::counting_iterator<GraphNode> galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::local_iterator
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef NodeInfo::reference galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::node_data_reference
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef NodeTy galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::node_data_type
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef read_oc_immutable_edge_graph_tag galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::read_tag
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
typedef int galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::tt_is_segmented

Constructor & Destructor Documentation

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::~OCImmutableEdgeGraph ( )
inline

Member Function Documentation

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::begin ( const segment_type cur)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::begin ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
void galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::createFrom ( const std::string &  fname)
inline

Assumes that the graph is symmetric.

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
void galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::createFrom ( const std::string &  fname,
const std::string &  transpose 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
edge_iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::edge_begin ( const segment_type segment,
GraphNode  N,
MethodFlag  mflag = MethodFlag::WRITE 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
edge_iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::edge_end ( const segment_type ,
GraphNode  N,
MethodFlag  mflag = MethodFlag::WRITE 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::end ( const segment_type cur)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::end ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
node_data_reference galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::getData ( GraphNode  N,
MethodFlag  mflag = MethodFlag::WRITE 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
edge_data_reference galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::getEdgeData ( const segment_type segment,
edge_iterator  ni,
MethodFlag   GALOIS_UNUSEDmflag = MethodFlag::UNPROTECTED 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
GraphNode galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::getEdgeDst ( const segment_type segment,
edge_iterator  ni 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
edge_data_reference galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::getInEdgeData ( const segment_type segment,
edge_iterator  ni,
MethodFlag   GALOIS_UNUSEDmflag = MethodFlag::UNPROTECTED 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
GraphNode galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::getInEdgeDst ( const segment_type segment,
in_edge_iterator  ni 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
size_t galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::idFromNode ( GraphNode  N)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
in_edge_iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::in_edge_begin ( const segment_type segment,
GraphNode  N,
MethodFlag  mflag = MethodFlag::WRITE 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
in_edge_iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::in_edge_end ( const segment_type ,
GraphNode  N,
MethodFlag  mflag = MethodFlag::WRITE 
)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
void galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::keepInMemory ( )
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
void galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::load ( segment_type seg)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
const_local_iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::local_begin ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
local_iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::local_begin ( )
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
const_local_iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::local_end ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
local_iterator galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::local_end ( )
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
segment_type galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::nextSegment ( size_t  edges)
inline

Returns a segment starting from the beginning of the graph with either (1) some number of nodes with all their edges but no more than numEdges else (2) one node and all its edges.

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
segment_type galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::nextSegment ( const segment_type cur,
size_t  edges 
)
inline

Returns the next segment after cur.

template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
GraphNode galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::nodeFromId ( size_t  N)
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
size_t galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::size ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
size_t galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::sizeEdges ( ) const
inline
template<typename NodeTy , typename EdgeTy , bool HasNoLockable = false, bool HasOutOfLineLockable = false>
void galois::graphs::OCImmutableEdgeGraph< NodeTy, EdgeTy, HasNoLockable, HasOutOfLineLockable >::unload ( segment_type seg)
inline

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