On 13/11/19 17:59 -0800, Thomas Rodgers wrote:
+ // TODO verify the standard requires this +#if 0 + // register another callback + bool cb3called{false}; + std::stop_callback scb3{stok, [&] + { + cb3called = true; + }}; + VERIFY(ssrc.stop_possible()); + VERIFY(ssrc.stop_requested()); + VERIFY(stok.stop_possible()); + VERIFY(stok.stop_requested()); + VERIFY(!cb1called); + VERIFY(cb2called); + VERIFY(cb3called); +#endif
The working draft definitely requires this: Effects: Initializes callback with std::forward<C>(cb). If st.stop_requested() is true, then std::forward<Callback>(callback)() is evaluated in the current thread before the constructor returns.