Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Boost cannot find future::then from demo

I wanted to try boost future then, I have boost 1.55 installed and included in make file and I wanted to try official demo

#define BOOST_THREAD_PROVIDES_FUTURE

#include <boost/thread/future.hpp>

using namespace boost;

int main()
{
  future<int> f1 = async([]() { return 123; });
  future<int> f2 = f1.then([](future<int> f) { return f.get();} );// here .get() won't block });
} 

but I always get error during compilation

error: ‘class boost::future<int>’ has no member named ‘then’

When I commented line with f2 it compiles.

like image 267
PaolaJ. Avatar asked Apr 30 '14 02:04

PaolaJ.


1 Answers

You should define

#define BOOST_THREAD_VERSION 4

or

#define BOOST_THREAD_PROVIDES_FUTURE_CONTINUATION
like image 103
Akira Takahashi Avatar answered Nov 18 '22 12:11

Akira Takahashi