diff --git a/include/boost/graph/distributed/detail/mpi_process_group.ipp b/include/boost/graph/distributed/detail/mpi_process_group.ipp index cdd5c972..f9cde74b 100644 --- a/include/boost/graph/distributed/detail/mpi_process_group.ipp +++ b/include/boost/graph/distributed/detail/mpi_process_group.ipp @@ -505,7 +505,7 @@ void do_oob_receive(mpi_process_group const& self, status = self.impl_->comm.probe(source, tag); #if BOOST_VERSION >= 103600 - int size = status.count().get(); + int size = status.count().value(); #else int size; MPI_Status& mpi_status = status; @@ -959,7 +959,7 @@ receive_oob(const mpi_process_group& pg, std::pair actual = pg.actual_communicator_and_tag(tag, block); - boost::optional status; + boost::mpi::optional status; do { status = actual.first.iprobe(source, actual.second); if (!status) @@ -972,7 +972,7 @@ receive_oob(const mpi_process_group& pg, boost::mpi::packed_iarchive in(actual.first); #if BOOST_VERSION >= 103600 - in.resize(status->count().get()); + in.resize(status->count().value()); #else int size; MPI_Status mpi_status = *status; diff --git a/src/mpi_process_group.cpp b/src/mpi_process_group.cpp index 050b0f29..313bb2e8 100644 --- a/src/mpi_process_group.cpp +++ b/src/mpi_process_group.cpp @@ -725,7 +725,7 @@ void mpi_process_group::receive_batch(boost::mpi::status& status) const // Determine how big the receive buffer should be #if BOOST_VERSION >= 103600 - int size = status.count().get(); + int size = status.count().value(); #else int size; MPI_Status mpi_status(status); @@ -978,7 +978,7 @@ poll(bool wait, int block, bool synchronizing) const impl_->trigger_context = trc_out_of_band; //wait = false; - optional status; + boost::mpi::optional status; bool finished=false; optional > result; do { @@ -993,14 +993,14 @@ poll(bool wait, int block, bool synchronizing) const if (status) { // we have a message // Decode the message - std::pair decoded = decode_tag(status.get().tag()); - if (maybe_emit_receive(status.get().source(), status.get().tag())) + std::pair decoded = decode_tag(status.value().tag()); + if (maybe_emit_receive(status.value().source(), status.value().tag())) // We received the message out-of-band; poll again finished = false; else if (decoded.first == (block == -1 ? my_block_number() : block)) { // This message is for us, but not through a trigger. Return // the decoded message. - result = std::make_pair(status.get().source(), decoded.second); + result = std::make_pair(status.value().source(), decoded.second); // otherwise we didn't match any message we know how to deal with, so // pretend no message exists. finished = true;