Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:37:19

0001 // Copyright (C) 2006 The Trustees of Indiana University.
0002 
0003 // Use, modification and distribution is subject to the Boost Software
0004 // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
0005 // http://www.boost.org/LICENSE_1_0.txt)
0006 
0007 //  Authors: Douglas Gregor
0008 //           Andrew Lumsdaine
0009 #ifndef BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP
0010 #define BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP
0011 
0012 #ifndef BOOST_GRAPH_USE_MPI
0013 #error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
0014 #endif
0015 
0016 #include <boost/graph/detail/is_distributed_selector.hpp>
0017 
0018 namespace boost { 
0019 
0020   /* The default local selector for a distributedS selector. */
0021   struct defaultS {};
0022 
0023   /**
0024    * Selector that specifies that the graph should be distributed
0025    * among different processes organized based on the given process
0026    * group.
0027    */
0028   template<typename ProcessGroup, typename LocalS = defaultS,
0029            typename DistributionS = defaultS>
0030   struct distributedS 
0031   {
0032     typedef ProcessGroup process_group_type;
0033     typedef LocalS local_selector;
0034     typedef DistributionS distribution;
0035   };
0036 
0037   namespace detail {
0038     template<typename ProcessGroup, typename LocalS, typename DistributionS>
0039     struct is_distributed_selector<distributedS<ProcessGroup, LocalS, DistributionS> >: mpl::true_ {};
0040   }
0041 
0042 }
0043 
0044 #endif // BOOST_GRAPH_DISTRIBUTED_SELECTOR_HPP