// Copyright (C) 2004-2008 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: Nick Edmonds // Douglas Gregor // Andrew Lumsdaine #ifndef BOOST_DISTRIBUTED_FILTERED_GRAPH_HPP #define BOOST_DISTRIBUTED_FILTERED_GRAPH_HPP #ifndef BOOST_GRAPH_USE_MPI #error "Parallel BGL files should not be included unless has been included" #endif #include #include namespace boost { namespace graph { namespace parallel { /// Retrieve the process group from a filtered graph template struct process_group_type > : process_group_type { }; template struct process_group_type > : process_group_type { }; } } /// Retrieve the process group from a filtered graph template inline typename graph::parallel::process_group_type::type process_group(filtered_graph const& g) { return process_group(g.m_g); } /// Forward vertex() to vertex() of the base graph template typename graph_traits::vertex_descriptor vertex(typename graph_traits::vertices_size_type i, filtered_graph const& g) { return vertex(i, g.m_g); } } #endif // BOOST_DISTRIBUTED_FILTERED_GRAPH_HPP