| 45 | template <typename Blocking, typename Relationship, typename Allocator> |
| 46 | template <typename Function> |
| 47 | inline void |
| 48 | basic_system_executor<Blocking, Relationship, Allocator>::do_execute( |
| 49 | Function&& f, execution::blocking_t::possibly_t) const |
| 50 | { |
| 51 | // Obtain a non-const instance of the function. |
| 52 | detail::non_const_lvalue<Function> f2(f); |
| 53 | |
| 54 | #if !defined(BOOST_ASIO_NO_EXCEPTIONS) |
| 55 | try |
| 56 | { |
| 57 | #endif// !defined(BOOST_ASIO_NO_EXCEPTIONS) |
| 58 | detail::fenced_block b(detail::fenced_block::full); |
| 59 | static_cast<decay_t<Function>&&>(f2.value)(); |
| 60 | #if !defined(BOOST_ASIO_NO_EXCEPTIONS) |
| 61 | } |
| 62 | catch (...) |
| 63 | { |
| 64 | std::terminate(); |
| 65 | } |
| 66 | #endif// !defined(BOOST_ASIO_NO_EXCEPTIONS) |
| 67 | } |
| 68 | |
| 69 | template <typename Blocking, typename Relationship, typename Allocator> |
| 70 | template <typename Function> |
no test coverage detected