Boost logo

Boost-MPI :

Subject: Re: [Boost-mpi] Use of poll member function of mpi_process_group
From: nikhil deveratha hegde (ndhegde_at_[hidden])
Date: 2014-05-27 23:56:26

Hi All,
I was able to overcome the earlier problem by using "probe()" function and checking if the return value is initialized or not:
optional<std::pair<int,int>>  ret = *((*g).process_group()).probe();
    //process message
//perform other local computation


From: boost-mpi-request_at_[hidden]
Sent: Fri, 23 May 2014 21:30:26
To: boost-mpi_at_[hidden]
Subject: Boost-mpi Digest, Vol 12, Issue 6
Send Boost-mpi mailing list submissions to


To subscribe or unsubscribe via the World Wide Web, visit

or, via email, send a message with subject or body 'help' to


You can reach the person managing the list at


When replying, please edit your Subject line so it is more specific

than "Re: Contents of Boost-mpi digest..."

Today's Topics:

   1. Use of poll member function of mpi_process_group

      (nikhil deveratha hegde)


Message: 1

Date: 22 May 2014 17:24:25 -0000

From: "nikhil deveratha hegde" <ndhegde_at_[hidden]>

To: "boost-mpi_at_[hidden]" <boost-mpi_at_[hidden]>

Subject: [Boost-mpi] Use of poll member function of mpi_process_group

Message-ID: <20140522172425.10392.qmail_at_[hidden]>

Content-Type: text/plain; charset="utf-8"

Hi All,

I am trying to use the poll function (asynchronous version) in this way:


However, I get an assertion failure:


/usr/local/include/boost/optional/optional.hpp:631: typename boost::optional_detail::optional_base<T>::reference_type boost::optional<T>::get() [with T = std::pair<int, int>]: Assertion `this->is_initialized()' failed.


I understand that poll function returns the optional<T> object and one can check the status of this object to see if an initialized/uninitialized object is returned. I tried doing something like:

optional<std::pair<int,int>> retval(*(g->process_group()).poll(false))

But still saw the assertion failure.

Could anyone please tell me if there is a problem with the way I have built the parallel BGL library or if my way of using this function is incorrect? I am using parallel BGL version 0.7.0.

I would greatly appreciate any hints, solutions.



-------------- next part --------------

HTML attachment scrubbed and removed


Subject: Digest Footer


Boost-mpi mailing list



End of Boost-mpi Digest, Vol 12, Issue 6


Boost-Commit list run by troyer at