Chris@16: // Copyright (C) 2006 The Trustees of Indiana University. Chris@16: Chris@16: // Use, modification and distribution is subject to the Boost Software Chris@16: // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at Chris@16: // http://www.boost.org/LICENSE_1_0.txt) Chris@16: Chris@16: // Authors: Douglas Gregor Chris@16: // Andrew Lumsdaine Chris@16: #ifndef BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP Chris@16: #define BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP Chris@16: Chris@16: #ifndef BOOST_GRAPH_USE_MPI Chris@16: #error "Parallel BGL files should not be included unless has been included" Chris@16: #endif Chris@16: Chris@16: #include Chris@16: Chris@16: namespace boost { Chris@16: Chris@16: /* The default local selector for a distributedS selector. */ Chris@16: struct defaultS {}; Chris@16: Chris@16: /** Chris@16: * Selector that specifies that the graph should be distributed Chris@16: * among different processes organized based on the given process Chris@16: * group. Chris@16: */ Chris@16: template Chris@16: struct distributedS Chris@16: { Chris@16: typedef ProcessGroup process_group_type; Chris@16: typedef LocalS local_selector; Chris@16: typedef DistributionS distribution; Chris@16: }; Chris@16: Chris@16: namespace detail { Chris@16: template Chris@16: struct is_distributed_selector >: mpl::true_ {}; Chris@16: } Chris@16: Chris@16: } Chris@16: Chris@16: #endif // BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP