dox/Parallel/vtkPBGLGraphAdapter.h File Reference

#include "vtkBoostGraphAdapter.h"
#include <boost/graph/use_mpi.hpp>
#include <boost/graph/distributed/mpi_process_group.hpp>
#include <boost/graph/properties.hpp>
#include <boost/graph/parallel/container_traits.hpp>
#include <boost/property_map/parallel/local_property_map.hpp>
#include <boost/property_map/parallel/distributed_property_map.hpp>
#include <boost/serialization/base_object.hpp>
#include <boost/functional/hash.hpp>
#include "vtkPBGLDistributedGraphHelper.h"
#include "vtkVariantBoostSerialization.h"

Include dependency graph for vtkPBGLGraphAdapter.h:

Go to the source code of this file.

Namespaces

namespace  boost
namespace  boost::graph
namespace  boost::graph::parallel

Classes

struct  boost::vtkVertexOwnerMap
struct  boost::property_traits< vtkVertexOwnerMap >
struct  boost::property_map< vtkGraph *, vertex_owner_t >
struct  boost::vtkVertexLocalMap
struct  boost::property_traits< vtkVertexLocalMap >
struct  boost::property_map< vtkGraph *, vertex_local_t >
struct  boost::vtkVertexGlobalMap
struct  boost::property_traits< vtkVertexGlobalMap >
struct  boost::property_map< vtkGraph *, vertex_global_t >
struct  boost::vtkEdgeGlobalMap
struct  boost::property_traits< vtkEdgeGlobalMap >
struct  boost::property_map< vtkGraph *, edge_global_t >
struct  boost::hash< vtkEdgeType >
struct  boost::graph::parallel::process_group_type< vtkGraph * >
struct  boost::graph::parallel::process_group_type< vtkDirectedGraph * >
struct  boost::graph::parallel::process_group_type< vtkUndirectedGraph * >
struct  boost::graph::parallel::process_group_type< vtkDirectedGraph *const >
struct  boost::graph::parallel::process_group_type< vtkUndirectedGraph *const >
struct  vtkDistributedVertexPropertyMapType< DataArray >
struct  vtkDistributedEdgePropertyMapType< DataArray >

Defines

#define SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS(Property)

Typedefs

typedef
boost::local_property_map
< boost::graph::distributed::mpi_process_group,
boost::vtkVertexGlobalMap,
boost::vtkGraphIndexMap
vtkGraphDistributedVertexIndexMap

Functions

property_traits
< vtkVertexOwnerMap >
::reference 
boost::get (vtkVertexOwnerMap owner_map, property_traits< vtkVertexOwnerMap >::key_type key)
 boost::SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS (vertex_owner_t)
vtkVertexOwnerMap boost::get (vertex_owner_t, vtkGraph *graph)
property_traits
< vtkVertexLocalMap >
::reference 
boost::get (vtkVertexLocalMap local_map, property_traits< vtkVertexLocalMap >::key_type key)
 boost::SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS (vertex_local_t)
vtkVertexLocalMap boost::get (vertex_local_t, vtkGraph *graph)
property_traits
< vtkVertexGlobalMap >
::reference 
boost::get (vtkVertexGlobalMap global_map, property_traits< vtkVertexGlobalMap >::key_type key)
 boost::SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS (vertex_global_t)
vtkVertexGlobalMap boost::get (vertex_global_t, vtkGraph *graph)
property_traits
< vtkEdgeGlobalMap >
::reference 
boost::get (vtkEdgeGlobalMap global_map, property_traits< vtkEdgeGlobalMap >::key_type key)
 boost::SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS (edge_global_t)
vtkEdgeGlobalMap boost::get (edge_global_t, vtkGraph *graph)
boost::graph::distributed::mpi_process_group process_group (vtkGraph *graph)
boost::graph::distributed::mpi_process_group process_group (vtkDirectedGraph *graph)
boost::graph::distributed::mpi_process_group process_group (vtkUndirectedGraph *graph)
template<typename Archiver>
void serialize (Archiver &ar, vtkEdgeBase &edge, const unsigned int)
template<typename Archiver>
void serialize (Archiver &ar, vtkOutEdgeType &edge, const unsigned int)
template<typename Archiver>
void serialize (Archiver &ar, vtkInEdgeType &edge, const unsigned int)
template<typename Archiver>
void serialize (Archiver &ar, vtkEdgeType &edge, const unsigned int)
vtkGraphDistributedVertexIndexMap MakeDistributedVertexIndexMap (vtkGraph *graph)
template<typename DataArray>
vtkDistributedVertexPropertyMapType
< DataArray >::type 
MakeDistributedVertexPropertyMap (vtkGraph *graph, DataArray *array)
template<typename DataArray>
vtkDistributedEdgePropertyMapType
< DataArray >::type 
MakeDistributedEdgePropertyMap (vtkGraph *graph, DataArray *array)


Define Documentation

#define SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS ( Property   ) 

Value:

template<>                                                    \
  struct property_map<vtkDirectedGraph *, Property>             \
    : property_map<vtkGraph *, Property> { };                   \
                                                                \
  template<>                                                    \
  struct property_map<vtkUndirectedGraph *, Property>           \
    : property_map<vtkGraph *, Property> { };                   \
                                                                \
  template<>                                                    \
  struct property_map<vtkDirectedGraph * const, Property>       \
    : property_map<vtkGraph *, Property> { };                   \
                                                                \
  template<>                                                    \
  struct property_map<vtkUndirectedGraph * const, Property>     \
    : property_map<vtkGraph *, Property> { }

Definition at line 51 of file vtkPBGLGraphAdapter.h.


Typedef Documentation

typedef boost::local_property_map<boost::graph::distributed::mpi_process_group, boost::vtkVertexGlobalMap, boost::vtkGraphIndexMap> vtkGraphDistributedVertexIndexMap

A property map used as the vertex index map for distributed vtkGraphs. Using this index property map when building PBGL's vector_property_map or iterator_property_map will automatically make those property maps distributed. This feature is relied upon by several of the PBGL graph algorithms.

Definition at line 366 of file vtkPBGLGraphAdapter.h.


Function Documentation

boost::graph::distributed::mpi_process_group process_group ( vtkGraph graph  ) 

boost::graph::distributed::mpi_process_group process_group ( vtkDirectedGraph graph  )  [inline]

Definition at line 309 of file vtkPBGLGraphAdapter.h.

boost::graph::distributed::mpi_process_group process_group ( vtkUndirectedGraph graph  )  [inline]

Definition at line 315 of file vtkPBGLGraphAdapter.h.

template<typename Archiver>
void serialize ( Archiver &  ar,
vtkEdgeBase edge,
const unsigned  int 
) [inline]

Definition at line 326 of file vtkPBGLGraphAdapter.h.

template<typename Archiver>
void serialize ( Archiver &  ar,
vtkOutEdgeType edge,
const unsigned  int 
) [inline]

Definition at line 332 of file vtkPBGLGraphAdapter.h.

template<typename Archiver>
void serialize ( Archiver &  ar,
vtkInEdgeType edge,
const unsigned  int 
) [inline]

Definition at line 339 of file vtkPBGLGraphAdapter.h.

template<typename Archiver>
void serialize ( Archiver &  ar,
vtkEdgeType edge,
const unsigned  int 
) [inline]

Definition at line 346 of file vtkPBGLGraphAdapter.h.

vtkGraphDistributedVertexIndexMap MakeDistributedVertexIndexMap ( vtkGraph graph  )  [inline]

Creates the distributed vertex index property map for a vtkGraph.

Definition at line 372 of file vtkPBGLGraphAdapter.h.

template<typename DataArray>
vtkDistributedVertexPropertyMapType<DataArray>::type MakeDistributedVertexPropertyMap ( vtkGraph graph,
DataArray *  array 
) [inline]

Build a distributed property map indexed by the vertices of the given graph, using storage from the given array.

Definition at line 413 of file vtkPBGLGraphAdapter.h.

template<typename DataArray>
vtkDistributedEdgePropertyMapType<DataArray>::type MakeDistributedEdgePropertyMap ( vtkGraph graph,
DataArray *  array 
) [inline]

Build a distributed property map indexed by the edges of the given graph, using storage from the given array.

Definition at line 456 of file vtkPBGLGraphAdapter.h.


Generated on Mon Sep 27 18:13:21 2010 for VTK by  doxygen 1.5.6