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 | Protected Attributes | List of all members
ibmppl::RDFVertex< Property, EdgeList, Directedness > Class Template Reference

#include <ibm_graph_rdf.h>

Inheritance diagram for ibmppl::RDFVertex< Property, EdgeList, Directedness >:
ibmppl::VertexBase< Property, EdgeList >

Public Types

typedef RDFVertex< Property,
EdgeList, Directedness > 
this_type
 
typedef VertexBase< Property,
EdgeList > 
base_type
 
typedef EdgeList edgelist_type
 
typedef edgelist_type::value_type edge_type
 
typedef edge_type::edged_type edged_type
 
typedef edgelist_type::iterator edge_iterator
 
typedef
edgelist_type::const_iterator 
const_edge_iterator
 
typedef base_type::vertexd_type vertexd_type
 
typedef base_type::property_type property_type
 
typedef labeled_list< pred_type > predlist_type
 
typedef labeled_list_iterator
< pred_type > 
pred_iterator
 
typedef
labeled_list_const_iterator
< pred_type > 
const_pred_iterator
 
- Public Types inherited from ibmppl::VertexBase< Property, EdgeList >
enum  FLAGS_T { kDefault = 0, kPropertyValid = 0x00000001, kMarkedForDeletion = 0x00000002 }
 
typedef size_t vertexd_type
 
typedef Property property_type
 
typedef EdgeList edgelist_type
 
typedef edgelist_type::value_type edge_type
 
typedef edge_type::edged_type edged_type
 
typedef edgelist_type::iterator edge_iterator
 
typedef
edgelist_type::const_iterator 
const_edge_iterator
 

Public Member Functions

 RDFVertex (vertexd_type id=-1)
 
 RDFVertex (vertexd_type id, const property_type &p)
 
 RDFVertex (const RDFVertex &rhs)
 
size_t edges_size () const
 
edge_iterator edges_begin ()
 
edge_iterator edges_end ()
 
const_edge_iterator edges_begin () const
 
const_edge_iterator edges_end () const
 
size_t edges_size (size_t lid) const
 
edge_iterator edges_begin (size_t lid)
 
edge_iterator edges_end (size_t lid)
 
const_edge_iterator edges_begin (size_t lid) const
 
const_edge_iterator edges_end (size_t lid) const
 
size_t preds_size () const
 
pred_iterator preds_begin ()
 
pred_iterator preds_end ()
 
const_pred_iterator preds_begin () const
 
const_pred_iterator preds_end () const
 
size_t preds_size (size_t lid) const
 
pred_iterator preds_begin (size_t lid)
 
pred_iterator preds_end (size_t lid)
 
const_pred_iterator preds_begin (size_t lid) const
 
const_pred_iterator preds_end (size_t lid) const
 
size_t add_pred (vertexd_type vid, size_t lid, edged_type eid)
 add a vertex id to predecessor list if it does not exist in the predlist yet More...
 
size_t add_pred (vertexd_type vid, edged_type eid)
 
void delete_pred (vertexd_type vid)
 delete the first occurance of a vertex id from predecessor list More...
 
void delete_all_preds (vertexd_type vid)
 
- Public Member Functions inherited from ibmppl::VertexBase< Property, EdgeList >
 VertexBase (vertexd_type id=-1)
 
 VertexBase (vertexd_type id, const property_type &p)
 
vertexd_type id () const
 
property_type & property ()
 
const property_type & property () const
 
void set_property (property_type &p)
 
void clear_flag (uint32_t flags)
 
void set_flag (uint32_t flags)
 
bool test_flag (uint32_t flags) const
 
bool is_marked_for_deletion () const
 
void mark_for_deletion ()
 
size_t edges_size () const
 
edge_iterator edges_begin ()
 
edge_iterator edges_end ()
 
const_edge_iterator edges_begin () const
 
const_edge_iterator edges_end () const
 
edge_iterator add_edge_ref (vertexd_type target)
 insert an edge between this vertex and target More...
 
edge_iterator add_edge (vertexd_type target)
 
edge_iterator add_edge_ref (vertexd_type target, const typename edge_type::property_type &p)
 insert an edge between this vertex and target More...
 
edge_iterator add_edge (vertexd_type target, const typename edge_type::property_type &p)
 
edge_iterator add_edge_ref (vertexd_type target, const typename edge_type::property_type &p, edged_type id)
 insert an edge between this vertex and target More...
 
edge_iterator add_edge (vertexd_type target, const typename edge_type::property_type &p, edged_type id)
 
edge_iterator find_edge (vertexd_type target, edged_type eid)
 
edge_iterator find_edge_with_id (edged_type eid)
 
const_edge_iterator find_edge (vertexd_type target, edged_type eid) const
 
const_edge_iterator find_edge (vertexd_type target) const
 
edge_iterator find_edge (vertexd_type target)
 
void delete_edge (vertexd_type target)
 
void delete_edge (vertexd_type target, edged_type eid)
 
void delete_edge_with_id (edged_type eid)
 
void delete_all_edges (vertexd_type target)
 

Protected Attributes

predlist_type _predlist
 
- Protected Attributes inherited from ibmppl::VertexBase< Property, EdgeList >
vertexd_type _id
 
property_type _p
 
edgelist_type _edges
 
uint32_t _flags
 

Detailed Description

template<class Property, class EdgeList, DIRECTNESS Directedness>
class ibmppl::RDFVertex< Property, EdgeList, Directedness >

RDF VERTEX is a specialization of the vertex for Directed with predecessors; it doesn't wor for just directed or undirected

Member Function Documentation

template<class Property , class EdgeList , DIRECTNESS Directedness>
size_t ibmppl::RDFVertex< Property, EdgeList, Directedness >::add_pred ( vertexd_type  vid,
size_t  lid,
edged_type  eid 
)
inline

add a vertex id to predecessor list if it does not exist in the predlist yet

Parameters
[in]vidpredecessor vertex id
template<class Property , class EdgeList , DIRECTNESS Directedness>
size_t ibmppl::RDFVertex< Property, EdgeList, Directedness >::add_pred ( vertexd_type  vid,
edged_type  eid 
)
inline

If no label available we asociate by default label 0

template<class Property , class EdgeList , DIRECTNESS Directedness>
void ibmppl::RDFVertex< Property, EdgeList, Directedness >::delete_pred ( vertexd_type  vid)
inline

delete the first occurance of a vertex id from predecessor list

Parameters
[in]vertexid to be deleted from the predecessor list

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