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 | Protected Attributes | Private Types | List of all members
ibmppl::omnidirectional_edge_iterator_t< base_type, base_vertex_iterator, graph_type > Class Template Reference

omnidirectional edge iterator More...

#include <ibm_multiproperty_graph.hpp>

Public Member Functions

 omnidirectional_edge_iterator_t (base_type const &itout, base_type const &itoutend)
 
 omnidirectional_edge_iterator_t (pred_iterator const &itin, pred_iterator const &itinend)
 
 omnidirectional_edge_iterator_t (base_type const &itout, base_type const &itoutend, pred_iterator const &itin, pred_iterator const &itinend)
 
property_iterator property_begin ()
 return property(subproperty) iterator pointing to the first subproperty More...
 
property_iterator property_end ()
 return property(subproperty) iterator pointing to the past-the-end subproperty More...
 
omnidirectional_edge_iterator_toperator-> ()
 
void operator++ (int xx)
 
void operator++ ()
 
void operator-- (int xx)
 
void operator-- ()
 
bool operator== (const omnidirectional_edge_iterator_t &rhs)
 
bool operator!= (const omnidirectional_edge_iterator_t &rhs)
 
bool at_end ()
 
size_t source ()
 return source vertex id More...
 
size_t target ()
 return target(destination) vertex id More...
 
size_t id ()
 return edge id More...
 
string get_label (void)
 return edge label More...
 
size_t get_labelid (void)
 
size_t get_first_subproperty_id ()
 
size_t get_next_subproperty_id (size_t propid)
 
void set_subproperty (const property_name_type &pname, const property_value_type &value)
 set edge subproperty More...
 
void set_subproperty (const size_t propid, const property_value_type &value)
 
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)
 get the value of a particular subproperty More...
 
int get_subpropertytype (size_t propid)
 
property_value_type get_subproperty (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)
 delete a particular subproperty More...
 
void delete_subproperty (size_t propid)
 
size_t get_subproperty_count ()
 
bool is_edge ()
 
void set_source_id (size_t srcid)
 
base_type find_edge_iterator (void)
 

Protected Attributes

base_type _iter
 
base_type _iter_end
 
pred_iterator _pred_iter
 
pred_iterator _pred_iter_end
 
bool _using_predlist
 
bool _do_preds
 
size_t _source_id
 

Private Types

typedef graph_type::pred_iterator pred_iterator
 
typedef
omnidirectional_edge_iterator_t
< base_type,
base_vertex_iterator,
graph_type
this_type
 
typedef
base_type::property_name_type 
property_name_type
 
typedef
base_type::property_value_type 
property_value_type
 
typedef
mp_subproperty_iterator_t
< base_vertex_iterator,
this_type
property_iterator
 

Detailed Description

template<class base_type, class base_vertex_iterator, class graph_type>
class ibmppl::omnidirectional_edge_iterator_t< base_type, base_vertex_iterator, graph_type >

omnidirectional edge iterator

This helper class focuses on convenience over performance in providing a single type of edge iterator that works on in edges, out edges, or both. It provides an edge_iterator interface even if the IN edges are requested. That can currently result in relatively slow iteration.

Member Function Documentation

template<class base_type , class base_vertex_iterator , class graph_type >
void ibmppl::omnidirectional_edge_iterator_t< base_type, base_vertex_iterator, graph_type >::delete_subproperty ( const property_name_type &  pname)
inline

delete a particular subproperty

Parameters
pnamesubproperty name
template<class base_type , class base_vertex_iterator , class graph_type >
string ibmppl::omnidirectional_edge_iterator_t< base_type, base_vertex_iterator, graph_type >::get_label ( void  )
inline

return edge label

Returns
string
template<class base_type , class base_vertex_iterator , class graph_type >
property_value_type ibmppl::omnidirectional_edge_iterator_t< base_type, base_vertex_iterator, graph_type >::get_subproperty ( const property_name_type &  pname)
inline

get the value of a particular subproperty

Parameters
pnamesubproperty name
Returns
string: subproperty value
template<class base_type , class base_vertex_iterator , class graph_type >
size_t ibmppl::omnidirectional_edge_iterator_t< base_type, base_vertex_iterator, graph_type >::id ( )
inline

return edge id

Returns
size_t
template<class base_type , class base_vertex_iterator , class graph_type >
property_iterator ibmppl::omnidirectional_edge_iterator_t< base_type, base_vertex_iterator, graph_type >::property_begin ( )
inline

return property(subproperty) iterator pointing to the first subproperty

Returns
property_iterator
template<class base_type , class base_vertex_iterator , class graph_type >
property_iterator ibmppl::omnidirectional_edge_iterator_t< base_type, base_vertex_iterator, graph_type >::property_end ( )
inline

return property(subproperty) iterator pointing to the past-the-end subproperty

Returns
property_iterator
template<class base_type , class base_vertex_iterator , class graph_type >
void ibmppl::omnidirectional_edge_iterator_t< base_type, base_vertex_iterator, graph_type >::set_subproperty ( const property_name_type &  pname,
const property_value_type &  value 
)
inline

set edge subproperty

Parameters
pnamesubproperty name
valuesubproperty value
template<class base_type , class base_vertex_iterator , class graph_type >
size_t ibmppl::omnidirectional_edge_iterator_t< base_type, base_vertex_iterator, graph_type >::source ( )
inline

return source vertex id

Returns
size_t
template<class base_type , class base_vertex_iterator , class graph_type >
size_t ibmppl::omnidirectional_edge_iterator_t< base_type, base_vertex_iterator, graph_type >::target ( )
inline

return target(destination) vertex id

Returns
size_t

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