// 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 #ifndef BOOST_GRAPH_PARALLEL_DIJKSTRA_DETAIL_HPP #define BOOST_GRAPH_PARALLEL_DIJKSTRA_DETAIL_HPP #ifndef BOOST_GRAPH_USE_MPI #error "Parallel BGL files should not be included unless has been included" #endif #include namespace boost { namespace graph { namespace distributed { namespace detail { /********************************************************************** * Dijkstra queue message data * **********************************************************************/ template class dijkstra_msg_value { typedef typename property_traits::value_type distance_type; typedef typename property_traits::value_type predecessor_type; public: typedef std::pair type; static type create(distance_type dist, predecessor_type pred) { return std::make_pair(dist, pred); } }; template class dijkstra_msg_value { typedef typename property_traits::key_type vertex_descriptor; public: typedef typename property_traits::value_type type; static type create(type dist, vertex_descriptor) { return dist; } }; /**********************************************************************/ } } } } // end namespace boost::graph::distributed::detail #endif // BOOST_GRAPH_PARALLEL_DIJKSTRA_DETAIL_HPP