chriskohlhoff / asio-tr2

C++ TR2 proposal based on Asio
17 stars 5 forks source link

ExecutionContext overloads of post, dispatch, and defer should use get_associated_executor() #227

Open chriskohlhoff opened 8 years ago

chriskohlhoff commented 8 years ago

Rather than calling the get_executor() member directly.

The ExecutionContext type requirements table should be updated to use get_associated_executor(x) rather than x.get_executor(). The requirement for having a nested typedef executor_type should be deleted.

The ExecutionContext overload of the make_work_guard function can be deleted.

The bind_executor function [async.bind.executor] should use get_associated_executor.

The AsyncReadStream and AsyncWriteStream requirements should use get_associated_executor(a) rather than a.get_executor().

[async.reqmts.async.io.exec] should use get_associated_executor() rather than calling get_executor member.

Affects [async.reqmts.executioncontext], [async.post], [async.dispatch], [async.defer], [async.make.work.guard], [buffer.stream.reqmts.asyncreadstream],[buffer.stream.reqmts.asyncwritestream], [async.reqmts.async.io.exec].

Depends on #226.