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

Generic implementation of graph vertex class w/ a list of edges and a vertex property. More...

#include <ibm_graph.h>

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

Public Types

typedef Vertex< 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
 
- 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

 Vertex (vertexd_type id=-1)
 
 Vertex (vertexd_type id, const property_type &p)
 
 Vertex (const Vertex &rhs)
 
- 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)
 

Friends

template<class P , class E , DIRECTNESS D>
std::ostream & operator<< (std::ostream &os, const Vertex< P, E, D > &V)
 

Additional Inherited Members

- 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::Vertex< Property, EdgeList, Directedness >

Generic implementation of graph vertex class w/ a list of edges and a vertex property.


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