MCPcopy Create free account
hub / github.com/NVIDIA/stdexec / __set_value_unless_stopped

Function __set_value_unless_stopped

include/exec/sequence_senders.hpp:955–970  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

953 template <class _Receiver>
954 requires __stoppable_receiver<_Receiver>
955 void __set_value_unless_stopped(_Receiver&& __rcvr)
956 {
957 using token_type = STDEXEC::stop_token_of_t<STDEXEC::env_of_t<_Receiver>>;
958 if constexpr (STDEXEC::unstoppable_token<token_type>)
959 { // NOLINT(bugprone-branch-clone)
960 STDEXEC::set_value(static_cast<_Receiver&&>(__rcvr));
961 }
962 else if (!STDEXEC::get_stop_token(STDEXEC::get_env(__rcvr)).stop_requested())
963 {
964 STDEXEC::set_value(static_cast<_Receiver&&>(__rcvr));
965 }
966 else
967 {
968 STDEXEC::set_stopped(static_cast<_Receiver&&>(__rcvr));
969 }
970 }
971
972////////////////////////////////////////////////////////////////////////////////
973#define STDEXEC_ERROR_ENABLE_SEQUENCE_SENDER_IS_FALSE \

Callers 1

set_stoppedMethod · 0.85

Calls 4

set_valueFunction · 0.85
get_envFunction · 0.70
set_stoppedFunction · 0.70
stop_requestedMethod · 0.45

Tested by

no test coverage detected