• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1.. Copyright (C) 2004-2008 The Trustees of Indiana University.
2   Use, modification and distribution is subject to the Boost Software
3   License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
4   http://www.boost.org/LICENSE_1_0.txt)
5
6======================================
7``distributedS`` Distribution Selector
8======================================
9
10The Boost Graph Library's class template adjacency_list_ supports
11several selectors that indicate what data structure should be used for
12the storage of edges or vertices. The selector ``vecS``, for instance,
13indicates storage in a ``std::vector`` whereas ``listS`` indicates
14storage in a ``std::list``. The Parallel BGL's `distributed
15adjacency list`_ supports an additional selector, ``distributedS``,
16that indicates that the storage should be distributed across multiple
17processes. This selector can transform a sequential adjacency list
18into a distributed adjacency list.
19
20::
21
22  template<typename ProcessGroup, typename LocalSelector = vecS>
23  struct distributedS;
24
25
26Template parameters
27~~~~~~~~~~~~~~~~~~~
28
29**ProcessGroup**:
30  The type of the process group over which the property map is
31  distributed and also the medium for communication. This type must
32  model the `Process Group`_ concept, but certain data structures may
33  place additional requirements on this parameter.
34
35**LocalSelector**:
36  A selector type (e.g., ``vecS``) that indicates how vertices or
37  edges should be stored in each process.
38
39-----------------------------------------------------------------------------
40
41Copyright (C) 2005 The Trustees of Indiana University.
42
43Authors: Douglas Gregor and Andrew Lumsdaine
44
45
46.. _adjacency_list: http://www.boost.org/libs/graph/doc/adjacency_list.html
47.. _Distributed adjacency list: distributed_adjacency_list.html
48.. _Process group: process_group.html
49
50