update boost
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
|
||||
#endif
|
||||
|
||||
#include <boost/core/uncaught_exceptions.hpp>
|
||||
#include <boost/graph/adjacency_list.hpp>
|
||||
#include <boost/graph/properties.hpp>
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
@@ -22,6 +23,7 @@
|
||||
#include <boost/graph/distributed/concepts.hpp>
|
||||
#include <boost/iterator/transform_iterator.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
#include <boost/graph/adjacency_iterator.hpp>
|
||||
#include <boost/property_map/parallel/distributed_property_map.hpp>
|
||||
#include <boost/property_map/parallel/local_property_map.hpp>
|
||||
@@ -30,6 +32,7 @@
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
#include <boost/assert.hpp>
|
||||
#include <list>
|
||||
#include <iterator>
|
||||
#include <algorithm>
|
||||
#include <boost/limits.hpp>
|
||||
#include <boost/graph/parallel/properties.hpp>
|
||||
@@ -1421,7 +1424,7 @@ namespace boost {
|
||||
/// Iterator over the neighbors of a vertex
|
||||
typedef boost::adjacency_iterator<
|
||||
adjacency_list, vertex_descriptor, out_edge_iterator,
|
||||
typename detail::iterator_traits<base_out_edge_iterator>
|
||||
typename std::iterator_traits<base_out_edge_iterator>
|
||||
::difference_type>
|
||||
adjacency_iterator;
|
||||
|
||||
@@ -2285,7 +2288,7 @@ namespace boost {
|
||||
/// If this vertex has already been created or will be created by
|
||||
/// someone else, or if someone threw an exception, we will not
|
||||
/// create the vertex now.
|
||||
if (committed || std::uncaught_exception())
|
||||
if (committed || boost::core::uncaught_exceptions() > 0)
|
||||
return;
|
||||
|
||||
committed = true;
|
||||
@@ -2398,7 +2401,7 @@ namespace boost {
|
||||
/// If this edge has already been created or will be created by
|
||||
/// someone else, or if someone threw an exception, we will not
|
||||
/// create the edge now.
|
||||
if (committed || std::uncaught_exception())
|
||||
if (committed || boost::core::uncaught_exceptions() > 0)
|
||||
return;
|
||||
|
||||
committed = true;
|
||||
@@ -2583,7 +2586,7 @@ namespace boost {
|
||||
/// If this edge has already been created or will be created by
|
||||
/// someone else, or if someone threw an exception, we will not
|
||||
/// create the edge now.
|
||||
if (this->committed || std::uncaught_exception())
|
||||
if (this->committed || boost::core::uncaught_exceptions() > 0)
|
||||
return;
|
||||
|
||||
this->committed = true;
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <boost/graph/parallel/algorithm.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
#include <boost/graph/parallel/process_group.hpp>
|
||||
#include <functional>
|
||||
#include <vector>
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
#include <boost/detail/is_sorted.hpp>
|
||||
#include <boost/assert.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
#include <boost/property_map/parallel/caching_property_map.hpp>
|
||||
#include <boost/graph/parallel/algorithm.hpp>
|
||||
#include <boost/pending/indirect_cmp.hpp>
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
|
||||
#include <boost/assert.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
#include <boost/graph/parallel/algorithm.hpp>
|
||||
#include <boost/pending/indirect_cmp.hpp>
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
|
||||
@@ -37,7 +37,7 @@
|
||||
#include <boost/graph/iteration_macros.hpp>
|
||||
#include <boost/property_map/property_map_iterator.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
#include <algorithm>
|
||||
#include <boost/algorithm/minmax_element.hpp>
|
||||
#include <boost/property_map/parallel/caching_property_map.hpp>
|
||||
#include <boost/pending/indirect_cmp.hpp>
|
||||
#include <boost/graph/distributed/detail/remote_update_set.hpp>
|
||||
@@ -45,6 +45,7 @@
|
||||
#include <boost/graph/breadth_first_search.hpp>
|
||||
#include <boost/graph/dijkstra_shortest_paths.hpp>
|
||||
#include <boost/graph/parallel/container_traits.hpp>
|
||||
#include <boost/pending/relaxed_heap.hpp>
|
||||
|
||||
#ifdef PBGL_ACCOUNTING
|
||||
# include <boost/graph/accounting.hpp>
|
||||
@@ -95,8 +96,10 @@ namespace detail {
|
||||
template<typename Vertex, typename DistanceMap, typename MinInWeightMap,
|
||||
typename Combine, typename Compare>
|
||||
struct min_in_distance_compare
|
||||
: std::binary_function<Vertex, Vertex, bool>
|
||||
{
|
||||
typedef Vertex first_argument_type;
|
||||
typedef Vertex second_argument_type;
|
||||
typedef bool result_type;
|
||||
min_in_distance_compare(DistanceMap d, MinInWeightMap m,
|
||||
Combine combine, Compare compare)
|
||||
: distance_map(d), min_in_weight(m), combine(combine),
|
||||
@@ -120,8 +123,10 @@ namespace detail {
|
||||
template<typename Vertex, typename DistanceMap, typename MinOutWeightMap,
|
||||
typename Combine, typename Compare>
|
||||
struct min_out_distance_compare
|
||||
: std::binary_function<Vertex, Vertex, bool>
|
||||
{
|
||||
typedef Vertex first_argument_type;
|
||||
typedef Vertex second_argument_type;
|
||||
typedef bool result_type;
|
||||
min_out_distance_compare(DistanceMap d, MinOutWeightMap m,
|
||||
Combine combine, Compare compare)
|
||||
: distance_map(d), min_out_weight(m), combine(combine),
|
||||
@@ -471,7 +476,7 @@ namespace detail {
|
||||
}
|
||||
std::cerr << std::endl;
|
||||
put(min_in_weight, v,
|
||||
*std::min_element
|
||||
*boost::first_min_element
|
||||
(make_property_map_iterator(weight, in_edges(v, g).first),
|
||||
make_property_map_iterator(weight, in_edges(v, g).second),
|
||||
compare));
|
||||
@@ -513,7 +518,7 @@ namespace detail {
|
||||
BGL_FORALL_VERTICES_T(v, g, Graph) {
|
||||
if (out_edges(v, g).first != out_edges(v, g).second) {
|
||||
put(min_out_weight, v,
|
||||
*std::min_element
|
||||
*boost::first_min_element
|
||||
(make_property_map_iterator(weight, out_edges(v, g).first),
|
||||
make_property_map_iterator(weight, out_edges(v, g).second),
|
||||
compare));
|
||||
|
||||
@@ -29,6 +29,7 @@
|
||||
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
#include <vector>
|
||||
#include <boost/graph/parallel/algorithm.hpp>
|
||||
#include <boost/limits.hpp>
|
||||
|
||||
@@ -46,6 +46,7 @@
|
||||
#include <boost/config.hpp>
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
#include <boost/graph/iteration_macros.hpp>
|
||||
#include <limits>
|
||||
#include <list>
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
#include <boost/graph/overloading.hpp>
|
||||
#include <boost/graph/properties.hpp>
|
||||
#include <boost/graph/distributed/concepts.hpp>
|
||||
|
||||
@@ -14,6 +14,7 @@
|
||||
#endif
|
||||
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
|
||||
namespace boost { namespace graph { namespace distributed { namespace detail {
|
||||
|
||||
|
||||
@@ -28,6 +28,7 @@
|
||||
#include <queue>
|
||||
#include <stack>
|
||||
#include <list>
|
||||
#include <map>
|
||||
#include <boost/graph/distributed/detail/tag_allocator.hpp>
|
||||
#include <stdio.h>
|
||||
|
||||
@@ -839,10 +840,19 @@ all_gather(const mpi_process_group& pg, InputIterator first,
|
||||
&sizes[0], 1, MPI_INT,
|
||||
communicator(pg));
|
||||
BOOST_ASSERT(result == MPI_SUCCESS);
|
||||
(void)result;
|
||||
|
||||
// Adjust sizes based on the number of bytes
|
||||
std::transform(sizes.begin(), sizes.end(), sizes.begin(),
|
||||
std::bind2nd(std::multiplies<int>(), sizeof(T)));
|
||||
//
|
||||
// std::transform(sizes.begin(), sizes.end(), sizes.begin(),
|
||||
// std::bind2nd(std::multiplies<int>(), sizeof(T)));
|
||||
//
|
||||
// std::bind2nd has been removed from C++17
|
||||
|
||||
for( std::size_t i = 0, n = sizes.size(); i < n; ++i )
|
||||
{
|
||||
sizes[ i ] *= sizeof( T );
|
||||
}
|
||||
|
||||
// Compute displacements
|
||||
std::vector<int> displacements;
|
||||
@@ -880,6 +890,7 @@ process_subgroup(const mpi_process_group& pg,
|
||||
MPI_Group current_group;
|
||||
int result = MPI_Comm_group(communicator(pg), ¤t_group);
|
||||
BOOST_ASSERT(result == MPI_SUCCESS);
|
||||
(void)result;
|
||||
|
||||
MPI_Group new_group;
|
||||
result = MPI_Group_incl(current_group, ranks.size(), &ranks[0], &new_group);
|
||||
|
||||
@@ -31,6 +31,7 @@
|
||||
#include <boost/graph/breadth_first_search.hpp>
|
||||
#include <boost/graph/dijkstra_shortest_paths.hpp>
|
||||
#include <boost/graph/parallel/container_traits.hpp>
|
||||
#include <boost/pending/relaxed_heap.hpp>
|
||||
|
||||
#ifdef PBGL_ACCOUNTING
|
||||
# include <boost/graph/accounting.hpp>
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
#include <boost/graph/graph_traits.hpp>
|
||||
#include <boost/graph/distributed/concepts.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
#include <boost/graph/graphviz.hpp>
|
||||
#include <boost/type_traits/is_base_and_derived.hpp>
|
||||
#include <boost/type_traits/is_same.hpp>
|
||||
|
||||
@@ -614,8 +614,6 @@ public:
|
||||
int size;
|
||||
};
|
||||
|
||||
|
||||
|
||||
inline mpi_process_group::process_id_type
|
||||
process_id(const mpi_process_group& pg)
|
||||
{ return pg.rank; }
|
||||
@@ -688,6 +686,15 @@ broadcast(const mpi_process_group& pg, T& val,
|
||||
mpi_process_group::process_id_type root);
|
||||
|
||||
|
||||
/// optimized swap for outgoing messages
|
||||
inline void
|
||||
swap(mpi_process_group::outgoing_messages& x,
|
||||
mpi_process_group::outgoing_messages& y)
|
||||
{
|
||||
x.swap(y);
|
||||
}
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* Out-of-band communication *
|
||||
*******************************************************************/
|
||||
@@ -790,18 +797,6 @@ namespace boost { namespace mpi {
|
||||
struct is_mpi_datatype<boost::graph::distributed::mpi_process_group::message_header> : mpl::true_ { };
|
||||
} } // end namespace boost::mpi
|
||||
|
||||
namespace std {
|
||||
/// optimized swap for outgoing messages
|
||||
inline void
|
||||
swap(boost::graph::distributed::mpi_process_group::outgoing_messages& x,
|
||||
boost::graph::distributed::mpi_process_group::outgoing_messages& y)
|
||||
{
|
||||
x.swap(y);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
BOOST_CLASS_IMPLEMENTATION(boost::graph::distributed::mpi_process_group::outgoing_messages,object_serializable)
|
||||
BOOST_CLASS_TRACKING(boost::graph::distributed::mpi_process_group::outgoing_messages,track_never)
|
||||
|
||||
|
||||
@@ -15,6 +15,7 @@
|
||||
#endif
|
||||
|
||||
#include <boost/assert.hpp>
|
||||
#include <boost/core/uncaught_exceptions.hpp>
|
||||
#include <boost/graph/named_graph.hpp>
|
||||
#include <boost/functional/hash.hpp>
|
||||
#include <boost/variant.hpp>
|
||||
@@ -376,7 +377,7 @@ BGL_NAMED_GRAPH::lazy_add_vertex::~lazy_add_vertex()
|
||||
/// If this vertex has already been created or will be created by
|
||||
/// someone else, or if someone threw an exception, we will not
|
||||
/// create the vertex now.
|
||||
if (committed || std::uncaught_exception())
|
||||
if (committed || boost::core::uncaught_exceptions() > 0)
|
||||
return;
|
||||
|
||||
committed = true;
|
||||
@@ -486,7 +487,7 @@ BGL_NAMED_GRAPH::lazy_add_edge::~lazy_add_edge()
|
||||
/// If this edge has already been created or will be created by
|
||||
/// someone else, or if someone threw an exception, we will not
|
||||
/// create the edge now.
|
||||
if (committed || std::uncaught_exception())
|
||||
if (committed || boost::core::uncaught_exceptions() > 0)
|
||||
return;
|
||||
|
||||
committed = true;
|
||||
@@ -682,7 +683,7 @@ BGL_NAMED_GRAPH::lazy_add_edge_with_property::~lazy_add_edge_with_property()
|
||||
/// If this edge has already been created or will be created by
|
||||
/// someone else, or if someone threw an exception, we will not
|
||||
/// create the edge now.
|
||||
if (committed || std::uncaught_exception())
|
||||
if (committed || boost::core::uncaught_exceptions() > 0)
|
||||
return;
|
||||
|
||||
committed = true;
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
#include <boost/graph/iteration_macros.hpp>
|
||||
#include <boost/graph/parallel/container_traits.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
#include <boost/graph/parallel/algorithm.hpp>
|
||||
#include <utility>
|
||||
#include <boost/optional.hpp>
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
|
||||
#include <boost/assert.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
#include <boost/property_map/parallel/distributed_property_map.hpp>
|
||||
#include <boost/property_map/parallel/caching_property_map.hpp>
|
||||
#include <boost/graph/parallel/algorithm.hpp>
|
||||
|
||||
@@ -18,6 +18,7 @@
|
||||
#include <vector>
|
||||
#include <boost/shared_ptr.hpp>
|
||||
#include <boost/property_map/property_map.hpp>
|
||||
#include <boost/property_map/parallel/parallel_property_maps.hpp>
|
||||
#include <boost/graph/parallel/algorithm.hpp>
|
||||
#include <boost/graph/parallel/container_traits.hpp>
|
||||
#include <boost/property_map/vector_property_map.hpp>
|
||||
|
||||
Reference in New Issue
Block a user