OpenFPM_data  0.1.0
Project that contain the implementation and interfaces for basic structure like vectors, grids, graph ... .
 All Data Structures Namespaces Functions Variables Typedefs Friends
Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p > Class Template Reference

Structure that store a graph in CSR format or basically in compressed adjacency matrix format. More...

Detailed Description

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
class Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >

Structure that store a graph in CSR format or basically in compressed adjacency matrix format.

Parameters
Veach vertex will encapsulate have this type
Eeach edge will encapsulate this type
deviceType of device / basicaly it select the layout for device_cpu is (x_1, p1_1, p2_1, p3_1 ....), ... ( x_n, p1_1, p2_1, p3_1, ...) for device_gpu is (x_1, ... , x_n) ... (p1_n, ... pn_n) where x_1 is the index where it end the list of the neighborhood list and pj_k is the property j for the vertex j. Basically in the first case one array will store index and property of each vertex, in the second case several array will store index and property
VertexListstructure that store the list of Vertex
EdgeListstructure that store the list of edge
Warning
This graph is suitable only when we know the graph structure and we build the graph adding vertexes and edges, removing vertex and edge is EXTREMLY expensive

Define vertex and edge of the graph

typedef Point_test<float> V;
typedef Point_test<float> E;

Create a Cartesian graph

// first create the vertex
for (size_t i = 0 ; i < GS_SIZE ; i++)
{
for (size_t j = 0 ; j < GS_SIZE ; j++)
{
// Add vertex
g.addVertex(p);
}
}
// than create the edge
// Create a grid, // NOTE this does not produce any memory grid, it retain only the information
// and give a set of usefull function
std::vector<size_t> gs;
gs.push_back(GS_SIZE);
gs.push_back(GS_SIZE);
// Create the edge 4 for each vertex
for (size_t i = 0 ; i < GS_SIZE ; i++)
{
for (size_t j = 0 ; j < GS_SIZE ; j++)
{
// Add 4 edge
g.addEdge<CheckExistence>(g2.Lin(i,j),g2.Lin(i+1,j),p);
g.addEdge<CheckExistence>(g2.Lin(i,j),g2.Lin(i,j+1),p);
g.addEdge<CheckExistence>(g2.Lin(i,j),g2.Lin(i-1,j),p);
g.addEdge<CheckExistence>(g2.Lin(i,j),g2.Lin(i,j-1),p);
}
}

Create a tree graph with no edge properties

Graph_CSR<V> g_no_edge;
// Create a tree
// root
g_no_edge.addVertex(p);
// 2 leaf
g_no_edge.addVertex(p);
g_no_edge.addEdge(0,1);
g_no_edge.addVertex(p);
g_no_edge.addEdge(0,2);
// 4 leaf
g_no_edge.addVertex(p);
g_no_edge.addEdge(1,3);
g_no_edge.addVertex(p);
g_no_edge.addEdge(1,4);
g_no_edge.addVertex(p);
g_no_edge.addEdge(2,5);
g_no_edge.addVertex(p);
g_no_edge.addEdge(2,6);
// 8 leaf
g_no_edge.addVertex(p);
g_no_edge.addEdge(3,7);
g_no_edge.addVertex(p);
g_no_edge.addEdge(3,8);
g_no_edge.addVertex(p);
g_no_edge.addEdge(4,9);
g_no_edge.addVertex(p);
g_no_edge.addEdge(4,10);
g_no_edge.addVertex(p);
g_no_edge.addEdge(5,11);
g_no_edge.addVertex(p);
g_no_edge.addEdge(5,12);
g_no_edge.addVertex(p);
g_no_edge.addEdge(6,13);
g_no_edge.addVertex(p);
g_no_edge.addEdge(6,14);

Definition at line 70 of file map_graph.hpp.

#include <map_graph.hpp>

Public Types

typedef V V_type
 Vertex typedef.
 
typedef E E_type
 Edge typedef.
 
typedef VertexList< V, Memory,
grow_p, openfpm::vect_isel< V >
::value >::container 
V_container
 Object container for the vertex, for example can be encap<...> (map_grid or openfpm::vector)
 
typedef EdgeList< E, Memory,
grow_p, openfpm::vect_isel< E >
::value >::container 
E_container
 Object container for the edge, for example can be encap<...> (map_grid or openfpm::vector)
 

Public Member Functions

Graph_CSR< V, E, VertexList,
EdgeList, Memory, grow_p > 
duplicate ()
 It duplicate the graph. More...
 
 Graph_CSR ()
 Constructor. More...
 
 Graph_CSR (size_t n_vertex)
 Constructor. More...
 
 Graph_CSR (size_t n_vertex, size_t n_slot)
 Constructor. More...
 
 Graph_CSR (Graph_CSR< V, E, VertexList, EdgeList, Memory > &&g)
 Copy constructor. More...
 
template<unsigned int i>
auto vertex_p (size_t id) -> decltype(v.template get< i >(id))
 operator to access the vertex More...
 
template<unsigned int i>
auto vertex_p (grid_key_dx< 1 > id) -> decltype(v.template get< i >(id))
 Access the vertex. More...
 
auto vertex (size_t id) -> decltype(v.get(id))
 Function to access the vertexes. More...
 
auto vertex (grid_key_dx< 1 > id) -> decltype(v.get(id.get(0)))
 operator to access the vertex More...
 
auto vertex (openfpm::vector_key_iterator id) -> decltype(v.get(0))
 operator to access the vertex More...
 
auto vertex (size_t id) const -> const decltype(v.get(id))
 Function to access the vertexes. More...
 
auto vertex (grid_key_dx< 1 > id) const -> const decltype(v.get(id.get(0)))
 operator to access the vertex More...
 
auto vertex (openfpm::vector_key_iterator id) const -> const decltype(v.get(0))
 operator to access the vertex More...
 
template<unsigned int i>
auto edge_p (grid_key_dx< 1 > id) -> decltype(e.template get< i >(id))
 Access the edge. More...
 
template<unsigned int i>
auto edge_p (size_t id) -> decltype(e.template get< i >(id))
 Access the edge. More...
 
auto edge (grid_key_dx< 1 > id) -> decltype(e.get(id.get(0)))
 Access the edge. More...
 
auto edge (edge_key ek) -> decltype(e.get(0))
 operator to access the edge More...
 
auto edge (size_t id) -> decltype(e.get(id))
 operator to access the edge More...
 
auto edge (grid_key_dx< 1 > id) const -> const decltype(e.get(id.get(0)))
 Access the edge. More...
 
auto edge (edge_key ek) const -> const decltype(e.get(0))
 operator to access the edge More...
 
auto edge (size_t id) const -> const decltype(e.get(id))
 operator to access the edge More...
 
size_t getNChilds (size_t c) const
 Return the number of childs of a vertex. More...
 
size_t getNChilds (typename VertexList< V, Memory, grow_p, openfpm::vect_isel< V >::value >::iterator_key &c)
 Return the number of childs of a vertex. More...
 
auto getChildEdge (size_t v, size_t v_e) -> decltype(e.get(0))
 Get the vertex edge. More...
 
size_t getChild (size_t v, size_t i) const
 Get the child edge. More...
 
size_t getChild (typename VertexList< V, Memory, grow_p, openfpm::vect_isel< V >::value >::iterator_key &v, size_t i)
 Get the child edge. More...
 
void addVertex (const V &vrt)
 add vertex More...
 
void addVertex ()
 add an empty vertex More...
 
template<typename CheckPolicy = NoCheck>
auto addEdge (size_t v1, size_t v2, const E &ed) -> decltype(e.get(0))
 add edge on the graph More...
 
template<typename CheckPolicy = NoCheck>
auto addEdge (size_t v1, size_t v2) -> decltype(e.get(0))
 add edge on the graph More...
 
void swap (Graph_CSR< V, E, VertexList, EdgeList > &g)
 swap the memory of g with this graph More...
 
auto getVertexIterator () const -> decltype(v.getIterator())
 Get the vertex iterator. More...
 
edge_iterator< Graph_CSR< V, E,
VertexList, EdgeList, Memory > > 
getEdgeIterator () const
 Get the vertex iterator. More...
 
size_t getNVertex () const
 Return the number of the vertex. More...
 
size_t getNEdge () const
 Return the number of edges. More...
 

Private Member Functions

template<typename CheckPolicy = NoCheck>
size_t addEdge_ (size_t v1, size_t v2)
 add edge on the graph More...
 

Private Attributes

size_t v_slot
 number of slot per vertex
 
VertexList< V, Memory, grow_p,
openfpm::vect_isel< V >::value > 
v
 Structure that store the vertex properties.
 
VertexList< size_t, Memory,
grow_p, openfpm::vect_isel
< size_t >::value > 
v_l
 Structure that store the number of adjacent vertex in e_l for each vertex.
 
EdgeList< E, Memory, grow_p,
openfpm::vect_isel< E >::value > 
e
 Structure that store the edge properties.
 
EdgeList< e_map, Memory,
grow_p, openfpm::vect_isel
< e_map >::value > 
e_l
 Structure that store for each vertex the adjacent the vertex id and edge id (for property into e)
 
EdgeList< E, Memory, grow_p,
openfpm::vect_isel< E >::value > 
e_invalid
 invalid edge element, when a function try to create an in valid edge this object is returned
 

Constructor & Destructor Documentation

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::Graph_CSR ( )
inline

Constructor.

Constructor

Definition at line 435 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::Graph_CSR ( size_t  n_vertex)
inline

Constructor.

Constructor

Definition at line 445 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::Graph_CSR ( size_t  n_vertex,
size_t  n_slot 
)
inline

Constructor.

Constructor

Creating n_vertex into the graph

Creating n_vertex adjacency list counters

no edge set the counter to zero

create one invalid edge

Definition at line 455 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::Graph_CSR ( Graph_CSR< V, E, VertexList, EdgeList, Memory > &&  g)
inline

Copy constructor.

Definition at line 471 of file map_graph.hpp.

Member Function Documentation

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
template<typename CheckPolicy = NoCheck>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::addEdge ( size_t  v1,
size_t  v2,
const E &  ed 
) -> decltype(e.get(0))
inline

add edge on the graph

add an edge on the graph

Definition at line 806 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
template<typename CheckPolicy = NoCheck>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::addEdge ( size_t  v1,
size_t  v2 
) -> decltype(e.get(0))
inline

add edge on the graph

add edge on the graph

Parameters
v1start vertex
v2end vertex

add an edge

return the edge to change the properties

Definition at line 829 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
template<typename CheckPolicy = NoCheck>
size_t Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::addEdge_ ( size_t  v1,
size_t  v2 
)
inlineprivate

add edge on the graph

add edge on the graph

Parameters
v1start vertex
v2end vertex

Definition at line 313 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
void Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::addVertex ( const V &  vrt)
inline

add vertex

Parameters
vrtVertex properties

Definition at line 770 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
void Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::addVertex ( )
inline

add an empty vertex

Definition at line 787 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
Graph_CSR<V, E, VertexList, EdgeList, Memory, grow_p> Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::duplicate ( )
inline

It duplicate the graph.

Returns
a graph duplicate of the first

duplicate all the structures

Definition at line 413 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::edge ( grid_key_dx< 1 >  id) -> decltype ( e.get(id.get(0)) )
inline

Access the edge.

Parameters
idof the edge to access

Definition at line 598 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::edge ( edge_key  ek) -> decltype ( e.get(0) )
inline

operator to access the edge

Parameters
ekkey of the edge

Definition at line 608 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::edge ( size_t  id) -> decltype ( e.get(id) )
inline

operator to access the edge

operator to access the edge

Parameters
idof the edge to access

Definition at line 620 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::edge ( grid_key_dx< 1 >  id) const -> const decltype ( e.get(id.get(0)) )
inline

Access the edge.

Parameters
idof the edge to access

Definition at line 630 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::edge ( edge_key  ek) const -> const decltype ( e.get(0) )
inline

operator to access the edge

Parameters
ekkey of the edge

Definition at line 640 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::edge ( size_t  id) const -> const decltype ( e.get(id) )
inline

operator to access the edge

operator to access the edge

Parameters
idof the edge to access

Definition at line 652 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
template<unsigned int i>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::edge_p ( grid_key_dx< 1 >  id) -> decltype ( e.template get<i>(id) )
inline

Access the edge.

Template Parameters
iproperty to access
Parameters
idof the edge to access

Definition at line 577 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
template<unsigned int i>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::edge_p ( size_t  id) -> decltype ( e.template get<i>(id) )
inline

Access the edge.

Template Parameters
iproperty to access
Parameters
idof the edge to access

Definition at line 588 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
size_t Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::getChild ( size_t  v,
size_t  i 
) const
inline

Get the child edge.

Parameters
vnode
ichild at position i
Returns
the edge id that connect v with the target at position i

Definition at line 719 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
size_t Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::getChild ( typename VertexList< V, Memory, grow_p, openfpm::vect_isel< V >::value >::iterator_key &  v,
size_t  i 
)
inline

Get the child edge.

Parameters
vnode
ichild at position i
Returns
the target i connected by an edge node, for the node v

Definition at line 746 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::getChildEdge ( size_t  v,
size_t  v_e 
) -> decltype(e.get(0))
inline

Get the vertex edge.

Parameters
vvertex
v_eedge id

Definition at line 692 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
edge_iterator<Graph_CSR<V, E, VertexList, EdgeList, Memory> > Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::getEdgeIterator ( ) const
inline

Get the vertex iterator.

Get the vertex iterator

Returns
an iterator to iterate through all the edges

Definition at line 880 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
size_t Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::getNChilds ( size_t  c) const
inline

Return the number of childs of a vertex.

Parameters
cChild id
Returns
the number of childs

Definition at line 665 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
size_t Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::getNChilds ( typename VertexList< V, Memory, grow_p, openfpm::vect_isel< V >::value >::iterator_key &  c)
inline

Return the number of childs of a vertex.

Parameters
cchild id
Returns
the number of childs

Definition at line 679 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
size_t Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::getNEdge ( ) const
inline

Return the number of edges.

Returns
the number of edges

Definition at line 902 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
size_t Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::getNVertex ( ) const
inline

Return the number of the vertex.

Returns
the number of vertex

Definition at line 891 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::getVertexIterator ( ) const -> decltype(v.getIterator())
inline

Get the vertex iterator.

Get the vertex iterator

Returns
an iterator to iterate through all the vertex

Definition at line 867 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
void Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::swap ( Graph_CSR< V, E, VertexList, EdgeList > &  g)
inline

swap the memory of g with this graph

swap the memory of g with this graph, it is basically used for move semantic

Definition at line 848 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::vertex ( size_t  id) -> decltype( v.get(id) )
inline

Function to access the vertexes.

Parameters
idof the vertex to access

Definition at line 508 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::vertex ( grid_key_dx< 1 >  id) -> decltype( v.get(id.get(0)) )
inline

operator to access the vertex

operator to access the vertex

Parameters
idof the vertex to access

Definition at line 520 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::vertex ( openfpm::vector_key_iterator  id) -> decltype( v.get(0) )
inline

operator to access the vertex

operator to access the vertex

Parameters
idof the vertex to access

Definition at line 532 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::vertex ( size_t  id) const -> const decltype( v.get(id) )
inline

Function to access the vertexes.

Parameters
idof the vertex to access

Definition at line 542 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::vertex ( grid_key_dx< 1 >  id) const -> const decltype( v.get(id.get(0)) )
inline

operator to access the vertex

operator to access the vertex

Parameters
idof the vertex to access

Definition at line 554 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::vertex ( openfpm::vector_key_iterator  id) const -> const decltype( v.get(0) )
inline

operator to access the vertex

operator to access the vertex

Parameters
idof the vertex to access

Definition at line 566 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
template<unsigned int i>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::vertex_p ( size_t  id) -> decltype( v.template get<i>(id) )
inline

operator to access the vertex

operator to access the vertex

Template Parameters
iproperty to access
Parameters
idof the vertex to access

Definition at line 487 of file map_graph.hpp.

template<typename V, typename E, template< typename, typename, typename, unsigned int > class VertexList, template< typename, typename, typename, unsigned int > class EdgeList, typename Memory, typename grow_p>
template<unsigned int i>
auto Graph_CSR< V, E, VertexList, EdgeList, Memory, grow_p >::vertex_p ( grid_key_dx< 1 >  id) -> decltype( v.template get<i>(id) )
inline

Access the vertex.

Template Parameters
iproperty to access
Parameters
idof the vertex to access

Definition at line 498 of file map_graph.hpp.


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