Back to home page

EIC code displayed by LXR

 
 

    


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

0001 // Copyright (C) 2004-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 
0010 //
0011 // This file contains traits that describe 
0012 //
0013 #ifndef BOOST_GRAPH_PARALLEL_CONTAINER_TRAITS_HPP
0014 #define BOOST_GRAPH_PARALLEL_CONTAINER_TRAITS_HPP
0015 
0016 #ifndef BOOST_GRAPH_USE_MPI
0017 #error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
0018 #endif
0019 
0020 namespace boost { namespace graph { namespace parallel {
0021 
0022 template<typename T>
0023 struct process_group_type
0024 {
0025   typedef typename T::process_group_type type;
0026 };
0027 
0028 template<typename T>
0029 inline typename process_group_type<T>::type
0030 process_group(const T& x)
0031 { return x.process_group(); }
0032 
0033 // Helper function that algorithms should use to get the process group
0034 // out of a container.
0035 template<typename Container>
0036 inline typename process_group_type<Container>::type
0037 process_group_adl(const Container& container)
0038 {
0039   return process_group(container);
0040 }
0041 
0042 
0043 } } } // end namespace boost::graph::parallel 
0044 
0045 #endif // BOOST_GRAPH_PARALLEL_CONTAINER_TRAITS_HPP