Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS > Struct Template Reference

Configuration for the distributed adjacency list. More...

#include <adjacency_list.hpp>

Public Types

typedef mpl::if_< is_same
< InVertexListS, defaultS >
, vecS, InVertexListS >::type 
VertexListS
 
typedef property
< edge_target_processor_id_t,
processor_id_type,
EdgeProperty > 
edge_property_with_id
 Introduce the target processor ID property for each edge. More...
 
typedef boost::mpl::if_
< is_same< DirectedS,
undirectedS >, property
< edge_locally_owned_t, bool,
edge_property_with_id >
, edge_property_with_id >
::type 
base_edge_property_type
 For undirected graphs, introduce the locally-owned property for edges. More...
 
typedef adjacency_list_traits
< OutEdgeListS, VertexListS,
directedS >::edge_descriptor 
local_edge_descriptor
 The edge descriptor type for the local subgraph. More...
 
typedef stored_in_edge
< local_edge_descriptor
bidir_stored_edge
 For bidirectional graphs, the type of an incoming stored edge. More...
 
typedef container_gen
< EdgeListS, bidir_stored_edge >
::type 
in_edge_list_type
 The container type that will store incoming edges for a bidirectional graph. More...
 
typedef boost::mpl::if_
< is_same< DirectedS,
bidirectionalS >, property
< vertex_in_edges_t,
in_edge_list_type,
VertexProperty >
, VertexProperty >::type 
base_vertex_property_type
 
typedef adjacency_list
< OutEdgeListS, distributedS
< ProcessGroup, VertexListS,
InDistribution >, DirectedS,
VertexProperty, EdgeProperty,
GraphProperty, EdgeListS > 
graph_type
 
typedef adjacency_list
< OutEdgeListS, VertexListS,
directedS,
base_vertex_property_type,
base_edge_property_type,
GraphProperty, EdgeListS > 
inherited
 
typedef InDistribution in_distribution_type
 
typedef
inherited::vertices_size_type 
vertices_size_type
 
typedef
::boost::graph::distributed::select_distribution
< in_distribution_type,
VertexProperty,
vertices_size_type,
ProcessGroup >::type 
base_distribution_type
 
typedef
::boost::graph::distributed::shuffled_distribution
< base_distribution_type
distribution_type
 
typedef VertexProperty vertex_property_type
 
typedef EdgeProperty edge_property_type
 
typedef ProcessGroup process_group_type
 
typedef VertexListS vertex_list_selector
 
typedef OutEdgeListS out_edge_list_selector
 
typedef DirectedS directed_selector
 
typedef GraphProperty graph_property_type
 
typedef EdgeListS edge_list_selector
 

Detailed Description

template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
struct boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >

Configuration for the distributed adjacency list.

We use this parameter to store all of the configuration details for the implementation of the distributed adjacency list, which allows us to get at the distribution type in the maybe_named_graph.

Member Typedef Documentation

template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef ::boost::graph::distributed::select_distribution< in_distribution_type, VertexProperty, vertices_size_type, ProcessGroup>::type boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::base_distribution_type
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef boost::mpl::if_<is_same<DirectedS, undirectedS>, property<edge_locally_owned_t, bool, edge_property_with_id>, edge_property_with_id>::type boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::base_edge_property_type

For undirected graphs, introduce the locally-owned property for edges.

template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef boost::mpl::if_<is_same<DirectedS, bidirectionalS>, property<vertex_in_edges_t, in_edge_list_type, VertexProperty>, VertexProperty>::type boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::base_vertex_property_type
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef stored_in_edge<local_edge_descriptor> boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::bidir_stored_edge

For bidirectional graphs, the type of an incoming stored edge.

template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef DirectedS boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::directed_selector
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef ::boost::graph::distributed::shuffled_distribution< base_distribution_type> boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::distribution_type
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef EdgeListS boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::edge_list_selector
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef EdgeProperty boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::edge_property_type
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef property<edge_target_processor_id_t, processor_id_type, EdgeProperty> boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::edge_property_with_id

Introduce the target processor ID property for each edge.

template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef GraphProperty boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::graph_property_type
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef adjacency_list<OutEdgeListS, distributedS<ProcessGroup, VertexListS, InDistribution>, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS> boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::graph_type
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef InDistribution boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::in_distribution_type
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef container_gen<EdgeListS, bidir_stored_edge>::type boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::in_edge_list_type

The container type that will store incoming edges for a bidirectional graph.

template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef adjacency_list<OutEdgeListS, VertexListS, directedS, base_vertex_property_type, base_edge_property_type, GraphProperty, EdgeListS> boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::inherited
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef adjacency_list_traits<OutEdgeListS, VertexListS, directedS>::edge_descriptor boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::local_edge_descriptor

The edge descriptor type for the local subgraph.

template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef OutEdgeListS boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::out_edge_list_selector
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef ProcessGroup boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::process_group_type
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef VertexListS boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::vertex_list_selector
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef VertexProperty boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::vertex_property_type
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef mpl::if_<is_same<InVertexListS, defaultS>, vecS, InVertexListS>::type boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::VertexListS
template<typename OutEdgeListS, typename ProcessGroup, typename InVertexListS, typename InDistribution, typename DirectedS, typename VertexProperty, typename EdgeProperty, typename GraphProperty, typename EdgeListS>
typedef inherited::vertices_size_type boost::detail::parallel::adjacency_list_config< OutEdgeListS, ProcessGroup, InVertexListS, InDistribution, DirectedS, VertexProperty, EdgeProperty, GraphProperty, EdgeListS >::vertices_size_type

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