]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/graph_parallel/include/boost/graph/distributed/selector.hpp
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / graph_parallel / include / boost / graph / distributed / selector.hpp
1 // Copyright (C) 2006 The Trustees of Indiana University.
2
3 // Use, modification and distribution is subject to the Boost Software
4 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
6
7 // Authors: Douglas Gregor
8 // Andrew Lumsdaine
9 #ifndef BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP
10 #define BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP
11
12 #ifndef BOOST_GRAPH_USE_MPI
13 #error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
14 #endif
15
16 #include <boost/graph/detail/is_distributed_selector.hpp>
17
18 namespace boost {
19
20 /* The default local selector for a distributedS selector. */
21 struct defaultS {};
22
23 /**
24 * Selector that specifies that the graph should be distributed
25 * among different processes organized based on the given process
26 * group.
27 */
28 template<typename ProcessGroup, typename LocalS = defaultS,
29 typename DistributionS = defaultS>
30 struct distributedS
31 {
32 typedef ProcessGroup process_group_type;
33 typedef LocalS local_selector;
34 typedef DistributionS distribution;
35 };
36
37 namespace detail {
38 template<typename ProcessGroup, typename LocalS, typename DistributionS>
39 struct is_distributed_selector<distributedS<ProcessGroup, LocalS, DistributionS> >: mpl::true_ {};
40 }
41
42 }
43
44 #endif // BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP