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 Member Functions | Private Types | List of all members
ibmppl::imp_edge_iterator< Edge, BaseEdgeIterator, Graph, IdType > Class Template Reference

#include <ibm_multiproperty_graph.hpp>

Inheritance diagram for ibmppl::imp_edge_iterator< Edge, BaseEdgeIterator, Graph, IdType >:
ibmppl::imp_graphelement_iterator< Edge, BaseEdgeIterator, Graph, IdType >

Public Member Functions

 imp_edge_iterator (BaseEdgeIterator it, graph_type *g, vertexd_type vidin)
 
 imp_edge_iterator (imp_edge_iterator const &other)
 
void check_consistency (const char *filename, int linenum)
 
vertexd_type source ()
 
vertexd_type target ()
 
Edgeoperator* ()
 
imp_edge_iteratoroperator-> ()
 
void operator++ (int xx)
 
void operator++ ()
 
void operator-- (int xx)
 
void operator-- ()
 
- Public Member Functions inherited from ibmppl::imp_graphelement_iterator< Edge, BaseEdgeIterator, Graph, IdType >
 imp_graphelement_iterator (base_type it, graph_type *g)
 
 imp_graphelement_iterator (imp_graphelement_iterator const &others)
 
imp_graphelement_iteratoroperator= (imp_graphelement_iterator const &others)
 
graph_typegraph_ptr (void)
 
void check_consistency (const char *filename, int linenum)
 
Edgeoperator* ()
 
imp_graphelement_iteratoroperator-> ()
 
void operator++ (int xx)
 
void operator++ ()
 
bool operator== (const imp_graphelement_iterator &other)
 
bool operator!= (const imp_graphelement_iterator &other)
 
const property_type & property () const
 
property_type & property ()
 
const elementd_type id () const
 
void set_property (property_type &new_vp)
 
size_t get_first_subproperty_id ()
 
size_t get_next_subproperty_id (size_t propid)
 
void set_externalidxxx (property_value_type value)
 
std::string get_externalid_xx ()
 
std::string get_label ()
 
img_labelid_type get_labelid ()
 
void set_label (std::string label)
 
void set_labelid (img_labelid_type labelid)
 
void set_subproperty (const property_name_type &pname, const property_value_type &value)
 
void set_subproperty (const size_t propid, const property_value_type &value)
 
void set_subproperty (const size_t propid, char const *value, int valuelen)
 
void set_subproperty (const size_t propid, int ivalue)
 
void set_subproperty (const size_t propid, double dvalue)
 
property_value_type get_subproperty (const property_name_type &pname)
 
property_value_type get_subproperty (size_t propid)
 
int get_subpropertytype (size_t propid)
 
int get_int_subproperty (size_t propid)
 
double get_double_subproperty (size_t propid)
 
void delete_subproperty (const property_name_type &pname)
 
void delete_subproperty (size_t propid)
 
size_t get_subproperty_count ()
 
void iter_setEnd (base_type itEnd)
 
int iter_done ()
 

Private Types

typedef Graph graph_type
 
typedef
imp_graphelement_iterator
< Edge, BaseEdgeIterator,
Graph, IdType > 
base_type
 
typedef Graph::vertexd_type vertexd_type
 

Additional Inherited Members

- Public Types inherited from ibmppl::imp_graphelement_iterator< Edge, BaseEdgeIterator, Graph, IdType >
typedef IdType elementd_type
 
typedef Edge::property_type property_type
 
typedef std::string property_name_type
 
typedef std::string property_value_type
 
typedef std::string label_string_type
 
typedef std::string vclass_string_type
 
- Public Attributes inherited from ibmppl::imp_graphelement_iterator< Edge, BaseEdgeIterator, Graph, IdType >
base_type _iter
 
graph_type_graph_ptr
 
- Protected Member Functions inherited from ibmppl::imp_graphelement_iterator< Edge, BaseEdgeIterator, Graph, IdType >
size_t _get_or_allocate_propertyid (const property_name_type &pname)
 
size_t _get_propertyid (const property_name_type &pname)
 
- Protected Attributes inherited from ibmppl::imp_graphelement_iterator< Edge, BaseEdgeIterator, Graph, IdType >
bool _isEdge
 
long vid_source
 
int boolEndIterSet
 
base_type _iterEnd
 

Detailed Description

template<class Edge, class BaseEdgeIterator, class Graph, class IdType>
class ibmppl::imp_edge_iterator< Edge, BaseEdgeIterator, Graph, IdType >

Edge iterator class. It provides edge-specific methods that the more generic element iterator class does not.

If #define CHECK_CONSISTENCY 1 is done, these methods will do a bit more checking to more quickly spot memory management problems.

Author
ccjason (3/4/2014)

Constructor & Destructor Documentation

template<class Edge, class BaseEdgeIterator, class Graph, class IdType>
ibmppl::imp_edge_iterator< Edge, BaseEdgeIterator, Graph, IdType >::imp_edge_iterator ( BaseEdgeIterator  it,
graph_type g,
vertexd_type  vidin 
)
inline

Most programmers should not be calling this constructor. They instead should receive instances of it from graph and vertex methods.

Author
ccjason (3/4/2014)

Member Function Documentation

template<class Edge, class BaseEdgeIterator, class Graph, class IdType>
vertexd_type ibmppl::imp_edge_iterator< Edge, BaseEdgeIterator, Graph, IdType >::source ( )
inline

The method returns the vertex id of the source vertex of the edge.

Author
ccjason (3/4/2014)
Returns
vertexd_type
template<class Edge, class BaseEdgeIterator, class Graph, class IdType>
vertexd_type ibmppl::imp_edge_iterator< Edge, BaseEdgeIterator, Graph, IdType >::target ( )
inline

The method returns the vertex id of the target vertex of the edge.

Author
ccjason (3/4/2014)
Returns
vertexd_type

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