Boost logo

Boost Users :

Subject: [Boost-users] boost thread + container.
From: Andreas Hehn (hehn_at_[hidden])
Date: 2015-05-05 11:38:49


Hello boost-users readers,

I stumbled across some funny behavior of the headers of boost::thread
and boost::container/boost::move for C++O3. I am unsure if this is a
known shortcoming of those libraries or if it is a bug. I didn't find
anything on the topic in the documentation so far.

The problem is dependent on the include order of the two files:
* boost/container/vector.hpp
* boost/thread/thread.hpp

The following code causes several compilation errors
(boost-1.58.0/git, g++-4.9.2) related to the move emulation of
boost::thread:

#include <boost/container/vector.hpp>
#include <boost/thread/thread.hpp>

int main()
{
  boost::container::vector<boost::thread> v;
  v.resize(10);
  return 0;
}

It prints several error messages starting with
boost/container/detail/copy_move_algo.hpp:285:112: error: no matching
function for call to ‘move(boost::thread&)’.

The following error messages are also boost::move releated "failed"
enable_ifs and so on.

If I switch the order of the includes everything compiles just fine.
Is there a requirement on the order of the includes that I overlooked or
is this a bug?

Best,

Andreas


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net