summaryrefslogtreecommitdiff
path: root/boost/graph/parallel/process_group.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'boost/graph/parallel/process_group.hpp')
-rw-r--r--boost/graph/parallel/process_group.hpp94
1 files changed, 2 insertions, 92 deletions
diff --git a/boost/graph/parallel/process_group.hpp b/boost/graph/parallel/process_group.hpp
index 280ee4db54..92f11e5945 100644
--- a/boost/graph/parallel/process_group.hpp
+++ b/boost/graph/parallel/process_group.hpp
@@ -6,96 +6,6 @@
// Authors: Douglas Gregor
// Andrew Lumsdaine
-#ifndef BOOST_GRAPH_PARALLEL_PROCESS_GROUP_HPP
-#define BOOST_GRAPH_PARALLEL_PROCESS_GROUP_HPP
-#ifndef BOOST_GRAPH_USE_MPI
-#error "Parallel BGL files should not be included unless <boost/graph/use_mpi.hpp> has been included"
-#endif
-
-#include <cstdlib>
-#include <utility>
-
-namespace boost { namespace graph { namespace parallel {
-
-/**
- * A special type used as a flag to a process group constructor that
- * indicates that the copy of a process group will represent a new
- * distributed data structure.
- */
-struct attach_distributed_object { };
-
-/**
- * Describes the context in which a trigger is being invoked to
- * receive a message.
- */
-enum trigger_receive_context {
- /// No trigger is active at this time.
- trc_none,
- /// The trigger is being invoked during synchronization, at the end
- /// of a superstep.
- trc_in_synchronization,
- /// The trigger is being invoked as an "early" receive of a message
- /// that was sent through the normal "send" operations to be
- /// received by the end of the superstep, but the process group sent
- /// the message earlier to clear its buffers.
- trc_early_receive,
- /// The trigger is being invoked for an out-of-band message, which
- /// must be handled immediately.
- trc_out_of_band,
- /// The trigger is being invoked for an out-of-band message, which
- /// must be handled immediately and has alredy been received by
- /// an MPI_IRecv call.
- trc_irecv_out_of_band
-};
-
-// Process group tags
-struct process_group_tag {};
-struct linear_process_group_tag : virtual process_group_tag {};
-struct messaging_process_group_tag : virtual process_group_tag {};
-struct immediate_process_group_tag : virtual messaging_process_group_tag {};
-struct bsp_process_group_tag : virtual messaging_process_group_tag {};
-struct batch_process_group_tag : virtual messaging_process_group_tag {};
-struct locking_process_group_tag : virtual process_group_tag {};
-struct spawning_process_group_tag : virtual process_group_tag {};
-
-struct process_group_archetype
-{
- typedef int process_id_type;
-};
-
-void wait(process_group_archetype&);
-void synchronize(process_group_archetype&);
-int process_id(const process_group_archetype&);
-int num_processes(const process_group_archetype&);
-
-template<typename T> void send(process_group_archetype&, int, int, const T&);
-
-template<typename T>
-process_group_archetype::process_id_type
-receive(const process_group_archetype& pg,
- process_group_archetype::process_id_type source, int tag, T& value);
-
-template<typename T>
-std::pair<process_group_archetype::process_id_type, std::size_t>
-receive(const process_group_archetype& pg, int tag, T values[], std::size_t n);
-
-template<typename T>
-std::pair<process_group_archetype::process_id_type, std::size_t>
-receive(const process_group_archetype& pg,
- process_group_archetype::process_id_type source, int tag, T values[],
- std::size_t n);
-
-} } } // end namespace boost::graph::parallel
-
-namespace boost { namespace graph { namespace distributed {
- using parallel::trigger_receive_context;
- using parallel::trc_early_receive;
- using parallel::trc_out_of_band;
- using parallel::trc_irecv_out_of_band;
- using parallel::trc_in_synchronization;
- using parallel::trc_none;
- using parallel::attach_distributed_object;
-} } } // end namespace boost::graph::distributed
-
-#endif // BOOST_GRAPH_PARALLEL_PROCESS_GROUP_HPP
+// File moved
+#include <boost/property_map/parallel/process_group.hpp>