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 | List of all members
ibmppl::imp_vertex_iterator< Vertex, BaseIterator, Graph, IdType > Class Template Reference

#include <ibm_multiproperty_graph.hpp>

Inheritance diagram for ibmppl::imp_vertex_iterator< Vertex, BaseIterator, Graph, IdType >:
ibmppl::imp_graphelement_iterator< Vertex, BaseIterator, Graph, IdType >

Public Types

typedef graph_type::edge_iterator edge_iterator
 
typedef imp_pred_iterator
< edge_type,
base_pred_iterator, Graph
pred_iterator
 
- Public Types inherited from ibmppl::imp_graphelement_iterator< Vertex, BaseIterator, Graph, IdType >
typedef IdType elementd_type
 
typedef Vertex::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 Member Functions

 imp_vertex_iterator (BaseIterator it, graph_type *g)
 
 imp_vertex_iterator (imp_vertex_iterator const &other)
 
void check_consistency (const char *filename, int linenum)
 
omnidirectional_edge_iterator_t
< edge_iterator, this_type,
graph_type
omniedges_begin (EDGEDIRECTION ed)
 
size_t edges_size () const
 
size_t edges_size (size_t lid) const
 
edge_iterator edges_begin ()
 
edge_iterator edges_begin (size_t lid)
 
edge_iterator edges_end ()
 
edge_iterator edges_end (size_t lid)
 
size_t preds_size () const
 
size_t preds_size (size_t lid) const
 
pred_iterator preds_begin ()
 
pred_iterator preds_end ()
 
pred_iterator preds_begin (size_t lid)
 
pred_iterator preds_end (size_t lid)
 
size_t add_pred (vertexd_type source, size_t lid, edged_type eid)
 
size_t add_edge (vertexd_type target, const edge_property &ep, edged_type eid)
 
Vertexoperator* ()
 
imp_vertex_iteratoroperator-> ()
 
void operator++ (int xx)
 
void operator++ ()
 
void operator-- (int xx)
 
void operator-- ()
 
- Public Member Functions inherited from ibmppl::imp_graphelement_iterator< Vertex, BaseIterator, 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)
 
Vertexoperator* ()
 
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 imp_vertex_iterator
< Vertex, BaseIterator, Graph,
IdType > 
this_type
 
typedef Graph graph_type
 
typedef
imp_graphelement_iterator
< Vertex, BaseIterator, Graph,
IdType > 
base_type
 
typedef Graph::edge_type edge_type
 
typedef
graph_type::base_edge_iterator 
base_edge_iterator
 
typedef Vertex::pred_iterator base_pred_iterator
 
typedef Graph::vertexd_type vertexd_type
 
typedef Graph::edged_type edged_type
 
typedef Graph::edge_property edge_property
 

Additional Inherited Members

- Public Attributes inherited from ibmppl::imp_graphelement_iterator< Vertex, BaseIterator, Graph, IdType >
base_type _iter
 
graph_type_graph_ptr
 
- Protected Member Functions inherited from ibmppl::imp_graphelement_iterator< Vertex, BaseIterator, 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< Vertex, BaseIterator, Graph, IdType >
bool _isEdge
 
long vid_source
 
int boolEndIterSet
 
base_type _iterEnd
 

Detailed Description

template<class Vertex, class BaseIterator, class Graph, class IdType>
class ibmppl::imp_vertex_iterator< Vertex, BaseIterator, Graph, IdType >

Vertex iterator. Use methods of the graph object to obtain instances of this class.

Author
ccjason (3/4/2014)

Member Function Documentation

template<class Vertex , class BaseIterator , class Graph , class IdType >
void ibmppl::imp_vertex_iterator< Vertex, BaseIterator, Graph, IdType >::check_consistency ( const char *  filename,
int  linenum 
)
inline

This method does a couple affordable consistency checks that should spot memory corruption problems. If a problem is encoutered, the CHKCONSIST_ASSERT4 method will handle it. See the checkconsistency.h file for how that's done, or define that yourself.

Parameters
filenamethe nominal file name of the code that's calling this method. In C++ code this is easily specified with the FILE automatic variable.
linenothe nominal line number of the code that's calling this method. In C++ cod this is easily specified with the LINE automatic variable.
Author
ccjason (3/4/2014)
template<class Vertex , class BaseIterator , class Graph , class IdType >
edge_iterator ibmppl::imp_vertex_iterator< Vertex, BaseIterator, Graph, IdType >::edges_begin ( )
inline

This method returns an iterator over the outgoing edges of this vertex.

Author
ccjason (3/4/2014)
Returns
edge_iterator
template<class Vertex , class BaseIterator , class Graph , class IdType >
edge_iterator ibmppl::imp_vertex_iterator< Vertex, BaseIterator, Graph, IdType >::edges_end ( )
inline

This method returns an iterator instance that can be used to determine if the iterator returned by the edges_begin method is finished. See the C++ STL iterator documentation to understand how it works.

Author
ccjason (3/4/2014)
Returns
edge_iterator
template<class Vertex , class BaseIterator , class Graph , class IdType >
omnidirectional_edge_iterator_t<edge_iterator, this_type, graph_type> ibmppl::imp_vertex_iterator< Vertex, BaseIterator, Graph, IdType >::omniedges_begin ( EDGEDIRECTION  ed)
inline

This method returns an iterator over the outgoing edges of this vertex.

Author
ccjason (3/4/2014)
Returns
edge_iterator
template<class Vertex , class BaseIterator , class Graph , class IdType >
pred_iterator ibmppl::imp_vertex_iterator< Vertex, BaseIterator, Graph, IdType >::preds_begin ( )
inline

This method returns a predecessor iterator over the incoming edges of this vertex.

Author
ccjason (3/4/2014)
Returns
edge_iterator
template<class Vertex , class BaseIterator , class Graph , class IdType >
pred_iterator ibmppl::imp_vertex_iterator< Vertex, BaseIterator, Graph, IdType >::preds_begin ( size_t  lid)
inline

This method returns a predecessor iterator over the incoming edges of a given label for this vertex.

Author
ccjason (3/4/2014)
Returns
edge_iterator
template<class Vertex , class BaseIterator , class Graph , class IdType >
pred_iterator ibmppl::imp_vertex_iterator< Vertex, BaseIterator, Graph, IdType >::preds_end ( )
inline

This method returns an iterator instance that can be used to determine if the iterator returned by the edges_begin method is finished. See the C++ STL iterator documentation to understand how it works.

Author
ccjason (3/4/2014)
Returns
edge_iterator
template<class Vertex , class BaseIterator , class Graph , class IdType >
pred_iterator ibmppl::imp_vertex_iterator< Vertex, BaseIterator, Graph, IdType >::preds_end ( size_t  lid)
inline

This method returns an iterator instance that can be used to determine if the iterator returned by the edges_begin method is finished. See the C++ STL iterator documentation to understand how it works.

Author
ccjason (3/4/2014)
Returns
edge_iterator

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