| 140 | template <class RET> |
| 141 | template <class OTHER_RET, class FUNC, class ... ARGS> |
| 142 | auto |
| 143 | IThreadContext<RET>::finally(FUNC&& func, ARGS&&... args)->ThreadContextPtr<decltype(coroResult(func))> |
| 144 | { |
| 145 | using Ret = decltype(coroResult(func)); |
| 146 | return static_cast<Impl*>(this)->template finally<Ret>( |
| 147 | std::forward<FUNC>(func), |
| 148 | std::forward<ARGS>(args)...); |
| 149 | } |
| 150 | |
| 151 | template <class RET> |
| 152 | template <class OTHER_RET, class FUNC, class ... ARGS> |