123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- // Copyright (C) 2004-2006 The Trustees of Indiana University.
- // Use, modification and distribution is subject to the Boost Software
- // License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
- // http://www.boost.org/LICENSE_1_0.txt)
- // Authors: Douglas Gregor
- // Andrew Lumsdaine
- //
- // This file contains traits that describe
- //
- #ifndef BOOST_GRAPH_PARALLEL_CONTAINER_TRAITS_HPP
- #define BOOST_GRAPH_PARALLEL_CONTAINER_TRAITS_HPP
- #ifndef BOOST_GRAPH_USE_MPI
- #error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
- #endif
- namespace boost { namespace graph { namespace parallel {
- template<typename T>
- struct process_group_type
- {
- typedef typename T::process_group_type type;
- };
- template<typename T>
- inline typename process_group_type<T>::type
- process_group(const T& x)
- { return x.process_group(); }
- // Helper function that algorithms should use to get the process group
- // out of a container.
- template<typename Container>
- inline typename process_group_type<Container>::type
- process_group_adl(const Container& container)
- {
- return process_group(container);
- }
- } } } // end namespace boost::graph::parallel
- #endif // BOOST_GRAPH_PARALLEL_CONTAINER_TRAITS_HPP
|