| 670 | const basic_deadline_timer&) = delete; |
| 671 | |
| 672 | class initiate_async_wait |
| 673 | { |
| 674 | public: |
| 675 | typedef Executor executor_type; |
| 676 | |
| 677 | explicit initiate_async_wait(basic_deadline_timer* self) |
| 678 | : self_(self) |
| 679 | { |
| 680 | } |
| 681 | |
| 682 | const executor_type& get_executor() const noexcept |
| 683 | { |
| 684 | return self_->get_executor(); |
| 685 | } |
| 686 | |
| 687 | template <typename WaitHandler> |
| 688 | void operator()(WaitHandler&& handler) const |
| 689 | { |
| 690 | // If you get an error on the following line it means that your handler |
| 691 | // does not meet the documented type requirements for a WaitHandler. |
| 692 | BOOST_ASIO_WAIT_HANDLER_CHECK(WaitHandler, handler) type_check; |
| 693 | |
| 694 | detail::non_const_lvalue<WaitHandler> handler2(handler); |
| 695 | self_->impl_.get_service().async_wait( |
| 696 | self_->impl_.get_implementation(), |
| 697 | handler2.value, self_->impl_.get_executor()); |
| 698 | } |
| 699 | |
| 700 | private: |
| 701 | basic_deadline_timer* self_; |
| 702 | }; |
| 703 | |
| 704 | detail::io_object_impl< |
| 705 | detail::deadline_timer_service<TimeTraits>, Executor> impl_; |
no test coverage detected