distributedS.rst 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  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. ``distributedS`` Distribution Selector
  7. ======================================
  8. The Boost Graph Library's class template adjacency_list_ supports
  9. several selectors that indicate what data structure should be used for
  10. the storage of edges or vertices. The selector ``vecS``, for instance,
  11. indicates storage in a ``std::vector`` whereas ``listS`` indicates
  12. storage in a ``std::list``. The Parallel BGL's `distributed
  13. adjacency list`_ supports an additional selector, ``distributedS``,
  14. that indicates that the storage should be distributed across multiple
  15. processes. This selector can transform a sequential adjacency list
  16. into a distributed adjacency list.
  17. ::
  18. template<typename ProcessGroup, typename LocalSelector = vecS>
  19. struct distributedS;
  20. Template parameters
  21. ~~~~~~~~~~~~~~~~~~~
  22. **ProcessGroup**:
  23. The type of the process group over which the property map is
  24. distributed and also the medium for communication. This type must
  25. model the `Process Group`_ concept, but certain data structures may
  26. place additional requirements on this parameter.
  27. **LocalSelector**:
  28. A selector type (e.g., ``vecS``) that indicates how vertices or
  29. edges should be stored in each process.
  30. -----------------------------------------------------------------------------
  31. Copyright (C) 2005 The Trustees of Indiana University.
  32. Authors: Douglas Gregor and Andrew Lumsdaine
  33. .. _adjacency_list: http://www.boost.org/libs/graph/doc/adjacency_list.html
  34. .. _Distributed adjacency list: distributed_adjacency_list.html
  35. .. _Process group: process_group.html