Structure that store a graph in CSR format or basically in compressed adjacency matrix format. More...
Structure that store a graph in CSR format or basically in compressed adjacency matrix format.
| V | each vertex will encapsulate have this type | 
| E | each edge will encapsulate this type | 
| device | Type 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 | 
| VertexList | structure that store the list of Vertex | 
| EdgeList | structure that store the list of edge | 
Definition at line 79 of file dist_map_graph.hpp.
#include <dist_map_graph.hpp>
Data Structures | |
| struct | EdgeReq | 
| Structure to store a add request of an edge.  More... | |
| struct | GlobalVInfo | 
| Structure needed to get vertex position by global id.  More... | |
| struct | SendGraphPack | 
| Struct containing the (sub)graph to send.  More... | |
Public Types | |
| typedef V | V_type | 
| Vertex typedef.  | |
| typedef E | E_type | 
| Edge typedef.  | |
| 
typedef openfpm::vector< V,  Memory, layout_v, layout_v_base, 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 openfpm::vector< E,  Memory, layout_e, layout_e_base, 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 | |
| DistGraph_CSR< V, E, Memory,  layout_v, layout_e, layout_v_base, layout_e_base, grow_p >  | duplicate () const | 
| It duplicate the graph.  More... | |
| DistGraph_CSR (const DistGraph_CSR &dg) | |
| Constructor.  More... | |
| DistGraph_CSR (DistGraph_CSR &&dg) | |
| Constructor.  More... | |
| DistGraph_CSR () | |
| Constructor.  More... | |
| DistGraph_CSR (size_t n_vertex) | |
| Constructor.  More... | |
| DistGraph_CSR (size_t n_vertex, size_t n_slot) | |
| Constructor.  More... | |
| void | getDecompositionVector (openfpm::vector< idx_t > &v) | 
| Operator to access the decomposition vector.  More... | |
| openfpm::vector< idx_t > * | getVtxdist () | 
| Operator to access the decomposition vector.  More... | |
| void | initDistributionVector (openfpm::vector< idx_t > &v) | 
| Operator to access the decomposition vector.  More... | |
| void | initDistributionVector () | 
| Initialize the vtxdist and the fvtxdist.  More... | |
| DistGraph_CSR (Vcluster &vcl, DistGraph_CSR< V, E, Memory > &&g) | |
| Copy constructor.  More... | |
| DistGraph_CSR< V, E, Memory > & | operator= (DistGraph_CSR< V, E, Memory > &&g) | 
| Copy the graph.  More... | |
| DistGraph_CSR< V, E, Memory > & | operator= (const DistGraph_CSR< V, E, Memory > &g) | 
| Copy the graph.  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... | |
| auto | vertex_info (openfpm::vector_key_iterator id) const -> const decltype(v_m.get(0)) | 
| operator to access the vertex info  More... | |
| auto | getVertex (size_t id) -> decltype(v.get(id)) | 
| Function to access the vertexes.  More... | |
| auto | getVertex (size_t id) const -> const decltype(v.get(0)) | 
| Function to access the vertexes.  More... | |
| size_t | nodeById (size_t id) const | 
| operator to access the vertex position index by id property  More... | |
| size_t | firstId () const | 
| size_t | lastId () const | 
| size_t | getVertexId (size_t i) const | 
| Get the id of a vertex given its index position.  More... | |
| size_t | getVertexGlobalId (size_t i) const | 
| Get the id of a vertex given its index position.  More... | |
| bool | vertexIsInThisGraph (size_t id) | 
| Check if the vertex with GLOBAL id is in this graph.  More... | |
| void | map_v (size_t n, size_t g, size_t l) | 
| operator to update all the hashmap  More... | |
| void | clear () | 
| operator to clear the whole graph  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) 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 | getEdge (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 children of a vertex.  More... | |
| size_t | getNChilds (typename openfpm::vector< V, Memory, layout_v, layout_v_base, grow_p, openfpm::vect_isel< V >::value >::iterator_key &c) | 
| Return the number of childs of a vertex.  More... | |
| size_t | getNEdge (size_t v) const | 
| Return the number of children of a vertex given its global id.  More... | |
| auto | getChildEdge (size_t v, size_t v_e) -> decltype(e.get(0)) | 
| Get the vertex edge.  More... | |
| auto | getChildInfo (size_t v, size_t v_e) -> decltype(e_m.get(0)) | 
| Get the vertex edge info.  More... | |
| auto | getEdge (size_t v, size_t v_e) -> decltype(e.get(0)) | 
| Get the vertex edge given the vertex global id as source.  More... | |
| size_t | getChild (size_t v, size_t i) const | 
| Get the child edge.  More... | |
| size_t | getChild (size_t i) const | 
| Get the child edge.  More... | |
| size_t | getChild (typename openfpm::vector< V, Memory, layout_v, layout_v_base, grow_p, openfpm::vect_isel< V >::value >::iterator_key &v, size_t i) | 
| Get the child edge.  More... | |
| void | add_vertex (const V &vrt, size_t id, size_t gid) | 
| Add vertex vrt with global id and id properties.  More... | |
| template<unsigned int dim, typename Mem > | |
| void | add_vertex (const encapc< dim, V, Mem > &vrt, size_t id, size_t gid) | 
| Add vertex vrt with global id and id properties.  More... | |
| void | add_vertex (const V &vrt, size_t gid) | 
| Add vertex vrt with global id and id properties.  More... | |
| void | setGlobalMap (size_t g, size_t l, size_t i) | 
| map global id to local id  More... | |
| auto | addEdge (size_t v1, size_t v2, size_t srcgid, size_t dstgid) -> decltype(e.get(0)) | 
| auto | addEdge (size_t v1, size_t v2, size_t srcgid, size_t dstgid, const E &ed) -> decltype(e.get(0)) | 
| template<unsigned int dim, typename Mem , typename Mem1 > | |
| auto | addEdge (size_t v1, size_t v2, const encapc< dim, E, Mem > &ed, const encapc< dim, e_info, Mem1 > &ei) -> decltype(e.get(0)) | 
| auto | addEdge (size_t v1, size_t v2, const E &ed, const e_info &ei) -> decltype(e.get(0)) | 
| size_t | getChildSrcGid (size_t v1, size_t s) | 
| Get the global id of edge's source vertex.  More... | |
| size_t | getChildDstGid (size_t v1, size_t s) | 
| Get the global id of edge's destination vertex.  More... | |
| template<typename CheckPolicy = NoCheck> | |
| void | add_edge (size_t v1, size_t v2) | 
| Add an edge between vertices v1 end v2, needs syncEdge() to complete the action.  More... | |
| void | syncEdge () | 
| Execute a synchronization through processor to finalize the add of the edges requested in the e_queue.  More... | |
| void | swap (DistGraph_CSR< V, E > &g) | 
| Swap the memory of g with this graph.  More... | |
| void | swap (DistGraph_CSR< V, E > &&g) | 
| Swap the memory of g with this graph.  More... | |
| auto | getVertexIterator () const -> decltype(v.getIterator()) | 
| Get the vertex iterator.  More... | |
| edge_iterator< DistGraph_CSR < V, E, Memory > >  | getEdgeIterator () const | 
| Get the vertex iterator.  More... | |
| size_t | getNVertex () const | 
| Return the number of the vertices in this subgraph.  More... | |
| size_t | getTotNVertex () const | 
| Return the total number of the vertices.  More... | |
| size_t | getNEdge () const | 
| Return the number of edges.  More... | |
| void | init () | 
| Once added all the vertices this function must be called to initialize all the properties, useless if a graph factory is used.  More... | |
| bool | isGhost (size_t id) | 
| Check if a vertex is a ghost vertex (not belonging to this processor)  More... | |
| void | deleteGhosts () | 
| Remove all the ghosts from this graph.  More... | |
| template<bool toRemove = true> | |
| void | q_move (size_t i, size_t t) | 
| Prepare to send vertex i from the local processor to the target processor.  More... | |
| bool | moveQueueIsEmpty () | 
| Check if the move queue is empty.  More... | |
| void | redistribute () | 
| Redistribute function that wraps different stages of the redistribution.  More... | |
| void | reqVertex (size_t gid) | 
| Put a vertex request in queue.  More... | |
| void | sync () | 
| Execute all vertex requests and add them as ghosts inside this graph, they will be available until a redistribution is executed.  More... | |
Private Member Functions | |
| template<typename CheckPolicy = NoCheck> | |
| size_t | addEdge_ (size_t v1, size_t v2) | 
| add edge on the graph  More... | |
| void | resetExchange () | 
| Init communication structures.  More... | |
| void | deleteMovedVertices () | 
| Remove from this graph the vertices that have been sent.  More... | |
| bool | isToDelete (size_t i) | 
| Check it the vertex i must be deleted or not.  More... | |
| size_t | getVProcessor (size_t v) | 
| Get the processor of the the given vertex id, CAN be used BEFORE re-mapping starts.  More... | |
| template<bool addAsGhosts> | |
| void | exchangeVertices () | 
| Send and receive vertices and update current graph.  More... | |
| void | updateVtxdist () | 
| Update the distribution vector vtxdist.  More... | |
| void | remap () | 
| Re-map received vertices in order to have ordered vertex ids.  More... | |
| void | initGlbimap () | 
| Initialize the fixed structure for global mapping. See glbiv for details.  More... | |
| size_t | getInfoProc (size_t vid) | 
| Get the processor id of the processor containing the vertex with global id vid.  More... | |
| template<typename T > | |
| void | fillSendRecvStructs (openfpm::vector< openfpm::vector< T >> &vec, openfpm::vector< size_t > &prc, openfpm::vector< size_t > &size, openfpm::vector< void * > &ptr) | 
| Fill the prc, size and ptr structures with the data of vec.  More... | |
Static Private Member Functions | |
| static void * | gr_receive (size_t msg_i, size_t total_msg, size_t total_p, size_t i, size_t ri, void *ptr) | 
| Callback to set the size of the receiving vector.  More... | |
| static void * | on_receive (size_t msg_i, size_t total_msg, size_t total_p, size_t i, size_t ri, void *ptr) | 
| Callback of the sendrecv to set the size of the array received.  More... | |
Private Attributes | |
| Vcluster & | vcl | 
| Vcluster communication object.  | |
| openfpm::vector< idx_t > | vtxdist | 
| Distribution vector.  | |
| openfpm::vector< idx_t > | fvtxdist | 
| Fixed distribution vector, it never changes, it maintains always the first decomposition and topology.  | |
| size_t | v_slot | 
| number of slot per vertex  | |
| 
openfpm::vector< V, Memory,  layout_v, layout_v_base, grow_p, openfpm::vect_isel< V > ::value >  | v | 
| Structure that store the vertex properties.  | |
| 
openfpm::vector< v_info,  Memory, typename memory_traits_lin< v_info > ::type, memory_traits_lin, grow_p, openfpm::vect_isel < v_info >::value >  | v_m | 
| Structure that store the vertex id and global id.  | |
| 
openfpm::vector< size_t,  Memory, typename layout_v_base < size_t >::type, layout_v_base, grow_p, openfpm::vect_isel< size_t > ::value >  | v_l | 
| Structure that store the number of adjacent vertex in e_l for each vertex.  | |
| 
openfpm::vector< E, Memory,  layout_e, layout_e_base, grow_p, openfpm::vect_isel< E > ::value >  | e | 
| Structure that store the edge properties.  | |
| 
openfpm::vector< e_info,  Memory, typename layout_e_base < e_info >::type, layout_e_base, grow_p, openfpm::vect_isel< e_info > ::value >  | e_m | 
| Structure that store the edge properties.  | |
| 
openfpm::vector< e_map, Memory,  typename memory_traits_lin < e_map >::type, layout_e_base, 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)  | |
| 
openfpm::vector< E, Memory,  layout_e, layout_e_base, 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  | |
| 
std::unordered_map< size_t,  size_t >  | id2glb | 
| Map to access to the global vertex id given the vertex id.  | |
| 
std::unordered_map< size_t,  size_t >  | glb2id | 
| Map to access the vertex id given the global vertex id.  | |
| 
std::unordered_map< size_t,  size_t >  | glb2loc | 
| Map to access the local vertex id given the global one.  | |
| openfpm::vector< SendGraphPack > | sgp | 
| Pack storing that data to send to other processors.  | |
| openfpm::vector< size_t > | v_td | 
| Array containing the sent vertices and that will be deleted from the graph.  | |
| 
std::unordered_map< size_t,  GlobalVInfo >  | glbi_map | 
| TODO update description from pdf.  | |
| 
openfpm::vector < openfpm::vector< size_t > >  | vr_queue | 
| Queue of vertex requests.  | |
| std::unordered_map< size_t, bool > | ghs_map | 
| Map containing the ghost vertices of this graph, if bool is false the ghost will be deleted in the next vertices exchange.  | |
| openfpm::vector< EdgeReq > | e_queue | 
| Queue of requests to add edges.  | |
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
      
  | 
  inline | 
Copy constructor.
| v_cl | vcluster | 
| gg | distributed graph to copy | 
Definition at line 1150 of file dist_map_graph.hpp.
      
  | 
  inline | 
Add an edge between vertices v1 end v2, needs syncEdge() to complete the action.
| v1 | source vertex of the edge | 
| v2 | destination vertex of the edge | 
Definition at line 1902 of file dist_map_graph.hpp.
      
  | 
  inline | 
Add vertex vrt with global id and id properties.
| vrt | vertex object to add | 
| gid | global id, unique in global graph | 
| id | id, unique n global graph | 
Definition at line 1710 of file dist_map_graph.hpp.
      
  | 
  inline | 
Add vertex vrt with global id and id properties.
| vrt | vertex object to add | 
| id | of the vertex | 
| gid | global id, unique in global graph | 
Definition at line 1745 of file dist_map_graph.hpp.
      
  | 
  inline | 
Add vertex vrt with global id and id properties.
| vrt | vertex object to add | 
| gid | global id, unique in global graph | 
Definition at line 1779 of file dist_map_graph.hpp.
      
  | 
  inlineprivate | 
add edge on the graph
add edge on the graph
| v1 | start vertex | 
| v2 | end vertex | 
Definition at line 325 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to clear the whole graph
operator to clear all
Definition at line 1450 of file dist_map_graph.hpp.
      
  | 
  inline | 
Remove all the ghosts from this graph.
Definition at line 2111 of file dist_map_graph.hpp.
      
  | 
  inlineprivate | 
Remove from this graph the vertices that have been sent.
Definition at line 477 of file dist_map_graph.hpp.
      
  | 
  inline | 
It duplicate the graph.
Definition at line 1003 of file dist_map_graph.hpp.
      
  | 
  inline | 
Access the edge.
| id | of the edge to access | 
Definition at line 1496 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to access the edge
| ek | key of the edge | 
Definition at line 1508 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to access the edge
operator to access the edge
| id | of the edge to access | 
Definition at line 1544 of file dist_map_graph.hpp.
      
  | 
  inline | 
Access the edge.
| i | property to access | 
| id | of the edge to access | 
Definition at line 1471 of file dist_map_graph.hpp.
      
  | 
  inline | 
Access the edge.
| i | property to access | 
| id | of the edge to access | 
Definition at line 1484 of file dist_map_graph.hpp.
      
  | 
  inlineprivate | 
Send and receive vertices and update current graph.
| Remove | the sent sub-graph | 
Definition at line 552 of file dist_map_graph.hpp.
      
  | 
  inlineprivate | 
Fill the prc, size and ptr structures with the data of vec.
| type | of the data inside vec | 
| vec | vector of the data | 
| prc | processor array of sendrecv function | 
| size | size array of sendrecv function | 
| ptr | pointers array of sendrecv function | 
Definition at line 965 of file dist_map_graph.hpp.
      
  | 
  inline | 
/brief Get the first id of the graph
Definition at line 1375 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the child edge.
| v | node | 
| i | child at position i | 
Definition at line 1648 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the child edge.
| i | id of the child | 
Definition at line 1672 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the child edge.
| v | node | 
| i | child at position i | 
Definition at line 1686 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the global id of edge's destination vertex.
| v1 | source vertex of the edge | 
| s | n child of vertex v1 | 
Definition at line 1891 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the vertex edge.
| v | vertex | 
| v_e | edge id | 
Definition at line 1601 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the vertex edge info.
| v | vertex | 
| v_e | edge id | 
Definition at line 1614 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the global id of edge's source vertex.
| v1 | source vertex of the edge | 
| s | n child of vertex v1 | 
Definition at line 1879 of file dist_map_graph.hpp.
      
  | 
  inline | 
Operator to access the decomposition vector.
| v | vector that will contain the decomposition | 
Definition at line 1094 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to access the edge
| ek | key of the edge | 
| return | a reference to the edge | 
Definition at line 1520 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the vertex edge given the vertex global id as source.
| v | vertex global id | 
| v_e | edge id | 
Definition at line 1627 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the vertex iterator.
Get the vertex iterator
Definition at line 2042 of file dist_map_graph.hpp.
      
  | 
  inlineprivate | 
Get the processor id of the processor containing the vertex with global id vid.
| vid | vertex to know info about | 
Definition at line 943 of file dist_map_graph.hpp.
      
  | 
  inline | 
Return the number of children of a vertex.
| c | Child id | 
Definition at line 1556 of file dist_map_graph.hpp.
      
  | 
  inline | 
Return the number of childs of a vertex.
| c | child id | 
Definition at line 1568 of file dist_map_graph.hpp.
      
  | 
  inline | 
Return the number of children of a vertex given its global id.
| v | vertex global id | 
Definition at line 1580 of file dist_map_graph.hpp.
      
  | 
  inline | 
Return the number of edges.
Definition at line 2072 of file dist_map_graph.hpp.
      
  | 
  inline | 
Return the number of the vertices in this subgraph.
Definition at line 2052 of file dist_map_graph.hpp.
      
  | 
  inline | 
Return the total number of the vertices.
Definition at line 2062 of file dist_map_graph.hpp.
      
  | 
  inline | 
Function to access the vertexes.
| id | GLOBAL id of the vertex to access | 
Definition at line 1313 of file dist_map_graph.hpp.
      
  | 
  inline | 
Function to access the vertexes.
| id | GLOBAL id of the vertex to access | 
Definition at line 1336 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the id of a vertex given its index position.
| i | position of the vertex | 
Definition at line 1404 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the id of a vertex given its index position.
| i | position of the vertex | 
Definition at line 1394 of file dist_map_graph.hpp.
      
  | 
  inline | 
Get the vertex iterator.
Get the vertex iterator
Definition at line 2030 of file dist_map_graph.hpp.
      
  | 
  inlineprivate | 
Get the processor of the the given vertex id, CAN be used BEFORE re-mapping starts.
| v | id of the vertex | 
Definition at line 534 of file dist_map_graph.hpp.
      
  | 
  inline | 
Operator to access the decomposition vector.
Definition at line 1108 of file dist_map_graph.hpp.
      
  | 
  inlinestaticprivate | 
Callback to set the size of the receiving vector.
| msg_i | Index of the message | 
| total_msg | Total number of messages | 
| total_p | Total number of processors to communicate with | 
| i | Processor id | 
| ri | Request id | 
| ptr | Void pointer parameter for additional data to pass to the call-back | 
Definition at line 404 of file dist_map_graph.hpp.
      
  | 
  inline | 
Once added all the vertices this function must be called to initialize all the properties, useless if a graph factory is used.
Definition at line 2080 of file dist_map_graph.hpp.
      
  | 
  inline | 
Operator to access the decomposition vector.
| v | vector that contains the decomposition | 
Definition at line 1117 of file dist_map_graph.hpp.
      
  | 
  inline | 
Initialize the vtxdist and the fvtxdist.
Definition at line 1132 of file dist_map_graph.hpp.
      
  | 
  inlineprivate | 
Initialize the fixed structure for global mapping. See glbiv for details.
Definition at line 925 of file dist_map_graph.hpp.
      
  | 
  inline | 
Check if a vertex is a ghost vertex (not belonging to this processor)
| id | id of the vertex to check | 
Definition at line 2094 of file dist_map_graph.hpp.
      
  | 
  inlineprivate | 
Check it the vertex i must be deleted or not.
| i | vertex | 
Definition at line 518 of file dist_map_graph.hpp.
      
  | 
  inline | 
/brief Get the last id of the graph
Definition at line 1384 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to update all the hashmap
| n | new vertex id | 
| g | global vertex id | 
| l | local vertex id | 
| i | id of the property storing the id | 
Definition at line 1437 of file dist_map_graph.hpp.
      
  | 
  inline | 
Check if the move queue is empty.
Definition at line 2191 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to access the vertex position index by id property
operator to access the vertex
| id | id of the vertex to access | 
Definition at line 1358 of file dist_map_graph.hpp.
      
  | 
  inlinestaticprivate | 
Callback of the sendrecv to set the size of the array received.
| msg_i | Index of the message | 
| total_msg | Total number of messages | 
| total_p | Total number of processors to communicate with | 
| i | Processor id | 
| ri | Request id | 
| ptr | Void pointer parameter for additional data to pass to the call-back | 
Definition at line 423 of file dist_map_graph.hpp.
      
  | 
  inline | 
Copy the graph.
| g | distributed graph to copy | 
Definition at line 1163 of file dist_map_graph.hpp.
      
  | 
  inline | 
Copy the graph.
| g | graph to copy | 
Definition at line 1177 of file dist_map_graph.hpp.
      
  | 
  inline | 
Prepare to send vertex i from the local processor to the target processor.
| toRemove | if true the vertex will be deleted from this graph once it has been sent | 
| i | vertex to send | 
| t | target processor | 
Definition at line 2152 of file dist_map_graph.hpp.
      
  | 
  inline | 
Redistribute function that wraps different stages of the redistribution.
Definition at line 2207 of file dist_map_graph.hpp.
      
  | 
  inlineprivate | 
Re-map received vertices in order to have ordered vertex ids.
Definition at line 754 of file dist_map_graph.hpp.
      
  | 
  inline | 
Put a vertex request in queue.
| gid | global id of the vertex to request | 
Definition at line 2225 of file dist_map_graph.hpp.
      
  | 
  inlineprivate | 
Init communication structures.
Definition at line 435 of file dist_map_graph.hpp.
      
  | 
  inline | 
map global id to local id
| g | global id | 
| l | local index | 
| i | id | 
Definition at line 1790 of file dist_map_graph.hpp.
      
  | 
  inline | 
Swap the memory of g with this graph.
Swap the memory of g with this graph, it is basically used for move semantic
| g | The source graph | 
Definition at line 1974 of file dist_map_graph.hpp.
      
  | 
  inline | 
Swap the memory of g with this graph.
Swap the memory of g with this graph, it is basically used for move semantic
| g | The source graph | 
Definition at line 2002 of file dist_map_graph.hpp.
      
  | 
  inline | 
Execute all vertex requests and add them as ghosts inside this graph, they will be available until a redistribution is executed.
Definition at line 2241 of file dist_map_graph.hpp.
      
  | 
  inline | 
Execute a synchronization through processor to finalize the add of the edges requested in the e_queue.
Definition at line 1935 of file dist_map_graph.hpp.
      
  | 
  inlineprivate | 
Update the distribution vector vtxdist.
Definition at line 723 of file dist_map_graph.hpp.
      
  | 
  inline | 
Function to access the vertexes.
| id | of the vertex to access | 
Definition at line 1219 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to access the vertex
operator to access the vertex
| id | of the vertex to access | 
Definition at line 1233 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to access the vertex
operator to access the vertex
| id | of the vertex to access | 
Definition at line 1247 of file dist_map_graph.hpp.
      
  | 
  inline | 
Function to access the vertexes.
| id | of the vertex to access | 
Definition at line 1259 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to access the vertex
operator to access the vertex
| id | of the vertex to access | 
Definition at line 1273 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to access the vertex
operator to access the vertex
| id | of the vertex to access | 
Definition at line 1287 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to access the vertex info
operator to access the vertex
| id | of the vertex to access | 
Definition at line 1301 of file dist_map_graph.hpp.
      
  | 
  inline | 
operator to access the vertex
operator to access the vertex
| i | property to access | 
| id | of the vertex to access | 
Definition at line 1194 of file dist_map_graph.hpp.
      
  | 
  inline | 
Access the vertex.
| i | property to access | 
| id | of the vertex to access | 
Definition at line 1207 of file dist_map_graph.hpp.
      
  | 
  inline | 
Check if the vertex with GLOBAL id is in this graph.
| id | global id of the vertex | 
Definition at line 1414 of file dist_map_graph.hpp.