IBM SYSTEMG G RUNTIME & NATIVE STORE  0.5
IBM Native Graph Computing and Storage System based on IBM Parallel Programming Library
 All Classes Functions Variables Typedefs Pages
Public Types | Public Member Functions | Private Types | Friends | List of all members
ibmppl::Graph< VProperty, EProperty, Directedness, Traits > Class Template Reference

The main graph class to be instantiated by users. More...

#include <ibm_graph.h>

Inherits ibmppl::DAdaptor< Directedness, Traits >.

Public Types

typedef base_type::edged_type edged_type
 Edge descriptor or unique edge identifier.
 
typedef base_type::vertexd_type vertexd_type
 Vertex descriptor. Unique vertex identifier.
 
typedef base_type::vertex_property vertex_property
 Property type associated with each vertex.
 
typedef base_type::edge_property edge_property
 Property type associated with each edge.
 
typedef base_type::vertex_iterator vertex_iterator
 Iterator type for traversing vertices.
 
typedef
base_type::const_vertex_iterator 
const_vertex_iterator
 

Public Member Functions

 Graph ()
 
 Graph (const graph_config &gc)
 
template<class G >
void load (const G &dg)
 
edged_type batch_add_edge (vertexd_type s, vertexd_type t, const edge_property &p)
 
void graphviz (std::ostream &os=std::cout) const
 

Private Types

typedef DAdaptor< Directedness,
Traits > 
base_type
 
typedef Graph< VProperty,
EProperty, Directedness,
Traits > 
this_type
 

Friends

template<class G >
class concurrent_graph
 
template<class G >
class d_graph
 
template<class VP , class EP , DIRECTNESS DP, class TP >
std::ostream & operator<< (std::ostream &os, const Graph< VP, EP, DP, TP > &g)
 

Detailed Description

template<class VProperty, class EProperty, DIRECTNESS Directedness, class Traits = adj_list_list_storage_with_index_traits<VProperty, EProperty, Directedness>>
class ibmppl::Graph< VProperty, EProperty, Directedness, Traits >

The main graph class to be instantiated by users.

Mainly a frontend class as it inherits most of its functionality from base classes (DAdaptor) depending if the graph is directed or undirected. The directeness adaptor in turn inherits from adjacency_list class where all core graph methods are implemented.

Member Typedef Documentation

template<class VProperty, class EProperty, DIRECTNESS Directedness, class Traits = adj_list_list_storage_with_index_traits<VProperty, EProperty, Directedness>>
typedef base_type::const_vertex_iterator ibmppl::Graph< VProperty, EProperty, Directedness, Traits >::const_vertex_iterator

Const Iterator type for traversing edges. You won't be able to modify properties when using this iterator.

Constructor & Destructor Documentation

template<class VProperty, class EProperty, DIRECTNESS Directedness, class Traits = adj_list_list_storage_with_index_traits<VProperty, EProperty, Directedness>>
ibmppl::Graph< VProperty, EProperty, Directedness, Traits >::Graph ( )
inline

Build an empty graph. It can be populated afterwards using add_verte and add_edge.

template<class VProperty, class EProperty, DIRECTNESS Directedness, class Traits = adj_list_list_storage_with_index_traits<VProperty, EProperty, Directedness>>
ibmppl::Graph< VProperty, EProperty, Directedness, Traits >::Graph ( const graph_config gc)
inline

Generalized constructor where more args can be passed This class ignores them but others, like persisten storage graph doesn't

Member Function Documentation

template<class VProperty, class EProperty, DIRECTNESS Directedness, class Traits = adj_list_list_storage_with_index_traits<VProperty, EProperty, Directedness>>
void ibmppl::Graph< VProperty, EProperty, Directedness, Traits >::graphviz ( std::ostream &  os = std::cout) const
inline

Write the structure of the current graph to the stream given as argument. By default std::cout stream is used.

Parameters
IN]os output stream
template<class VProperty, class EProperty, DIRECTNESS Directedness, class Traits = adj_list_list_storage_with_index_traits<VProperty, EProperty, Directedness>>
template<class G >
void ibmppl::Graph< VProperty, EProperty, Directedness, Traits >::load ( const G &  dg)
inline

Populate the current graph with vertices and edges such that it will have the same structure as the input graph

Parameters
[in]dginput graph (directed or undirected)

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