cuda::experimental::stf::exception_policies::operator|#
Overloads#
operator|(__l, __r)#
-
template<class _L, class _R, ::cuda::std::enable_if_t<detail::__is_exception_sink_v<_L> || detail::__is_exception_sink_v<_R>, int> = 0>
auto cuda::experimental::stf::exception_policies::operator|(
) Alternation:
_Lgets first claim; if it declines by throwing,_Rhandles the original exception.rethrowis the two-sided identity. Same operand constraint as&.
operator|(rethrow_t, __r)#
operator|(__l, rethrow_t)#
-
template<class _L, ::cuda::std::enable_if_t<!::cuda::std::is_same_v<::cuda::std::remove_cvref_t<_L>, rethrow_t> && detail::__normalizes_to_exception_sink_v<_L>, int> = 0>
auto cuda::experimental::stf::exception_policies::operator|(
) Right identity of
|.rethrowitself is excluded sorethrow | rethrowis not ambiguous.