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.

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 >

Namespaces

namespace  boost
 

Forward declaration required for Boost serialization.


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

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 49 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.

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated by  doxygen 1.6.1-20091222