Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

This pull request allows people to select boost::future over std::future #218

Open
wants to merge 14 commits into
base: master
Choose a base branch
from
Open

This pull request allows people to select boost::future over std::future #218

wants to merge 14 commits into from

Conversation

cedral
Copy link

@cedral cedral commented Jul 3, 2017

I needed continuation which std::future doesn't have.
simply
#define ASIO_DISABLE_STD_FUTURE
and it ill fail over to boost::future|promise|packaged_task unless ASIO_DISABLE_BOOST_FUTURE is also defined.

@cedral
Copy link
Author

cedral commented Jul 21, 2017

The exception handling wasn't working right. boost::promise doesn't handle std::exception_ptr well.

@cedral
Copy link
Author

cedral commented Jul 21, 2017

I also added support for passing in an error_code * to use_future_t so that you can retrieve an error without throwing an exception on a call to get() or co_await

@cedral
Copy link
Author

cedral commented Jul 31, 2017

This works as well as I can make it. The integration tests are now failing because of the
#include <tuple>
and use of std::tuple on non c++11 compilers. I didn't do that so I can't fix it. If you don't want to support those compilers perhaps you should remove them from your tests? There are only 3 in there.

karzhenkov added a commit to karzhenkov/asio-primary that referenced this pull request Jul 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant