Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void > Struct Template Reference

A graph mixin that can provide a mapping from names to vertices, and use that mapping to simplify creation and manipulation of graphs. More...

#include <named_graph.hpp>

Public Types

typedef
process_group_type::process_id_type 
process_id_type
 
typedef Config::distribution_type distribution_type
 The type used to distribute named vertices in the graph. More...
 
typedef
Config::base_distribution_type 
base_distribution_type
 

Public Member Functions

 maybe_named_graph (const process_group_type &)
 
 maybe_named_graph (const process_group_type &pg, const base_distribution_type &distribution)
 
void added_vertex (Vertex)
 Notify the named_graph that we have added the given vertex. More...
 
template<typename VertexIterStability >
void removing_vertex (Vertex, VertexIterStability)
 Notify the named_graph that we are removing the given vertex. More...
 
void clearing_graph ()
 Notify the named_graph that we are clearing the graph. More...
 
process_id_type owner_by_property (const vertex_property_type &)
 Retrieve the owner of a given vertex based on the properties associated with that vertex. More...
 
distribution_typedistribution ()
 
const distribution_typedistribution () const
 

Protected Attributes

process_group_type pg
 The process group of the graph. More...
 
distribution_type distribution_
 The distribution used for the graph. More...
 

Detailed Description

template<typename Graph, typename Vertex, typename Edge, typename Config>
struct boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >

A graph mixin that can provide a mapping from names to vertices, and use that mapping to simplify creation and manipulation of graphs.

This partial specialization turns off this functionality when the VertexProperty does not have an internal vertex name.

Member Typedef Documentation

template<typename Graph , typename Vertex , typename Edge , typename Config >
typedef Config::base_distribution_type boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::base_distribution_type
template<typename Graph , typename Vertex , typename Edge , typename Config >
typedef Config::distribution_type boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::distribution_type

The type used to distribute named vertices in the graph.

template<typename Graph , typename Vertex , typename Edge , typename Config >
typedef process_group_type::process_id_type boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::process_id_type

Constructor & Destructor Documentation

template<typename Graph , typename Vertex , typename Edge , typename Config >
boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::maybe_named_graph ( const process_group_type &  )
inlineexplicit
template<typename Graph , typename Vertex , typename Edge , typename Config >
boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::maybe_named_graph ( const process_group_type &  pg,
const base_distribution_type distribution 
)
inline

Member Function Documentation

template<typename Graph , typename Vertex , typename Edge , typename Config >
void boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::added_vertex ( Vertex  )
inline

Notify the named_graph that we have added the given vertex.

This is a no-op.

template<typename Graph , typename Vertex , typename Edge , typename Config >
void boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::clearing_graph ( )
inline

Notify the named_graph that we are clearing the graph.

template<typename Graph , typename Vertex , typename Edge , typename Config >
distribution_type& boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::distribution ( )
inline
template<typename Graph , typename Vertex , typename Edge , typename Config >
const distribution_type& boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::distribution ( ) const
inline
template<typename Graph , typename Vertex , typename Edge , typename Config >
process_id_type boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::owner_by_property ( const vertex_property_type &  )
inline

Retrieve the owner of a given vertex based on the properties associated with that vertex.

This operation just returns the number of the local processor, adding all vertices locally.

References boost::graph::distributed::process_id().

template<typename Graph , typename Vertex , typename Edge , typename Config >
template<typename VertexIterStability >
void boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::removing_vertex ( Vertex  ,
VertexIterStability   
)
inline

Notify the named_graph that we are removing the given vertex.

This is a no-op.

Member Data Documentation

template<typename Graph , typename Vertex , typename Edge , typename Config >
distribution_type boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::distribution_
protected

The distribution used for the graph.

template<typename Graph , typename Vertex , typename Edge , typename Config >
process_group_type boost::graph::distributed::maybe_named_graph< Graph, Vertex, Edge, Config, void >::pg
protected

The process group of the graph.


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