#pragmawarning(push) #pragmawarning(disable : 5039) // pointer or reference to potentially throwing function passed to // extern C function under -EHc. Undefined behavior may occur // if this function throws an exception. (/Wall) _Thr._Hnd = reinterpret_cast<void*>(_CSTD _beginthreadex(nullptr, 0, _Invoker_proc, _Decay_copied.get(), 0, &_Thr._Id)); #pragmawarning(pop)
if (_Thr._Hnd) { // ownership transferred to the thread (void) _Decay_copied.release(); } else { // failed to start thread _Thr._Id = 0; _Throw_Cpp_error(_RESOURCE_UNAVAILABLE_TRY_AGAIN); } }
template <class _Ty> using _Remove_cvref_t = remove_cv_t<remove_reference_t<_Ty>>;
template <class, class> _INLINE_VARconstexprboolis_same_v = false;// determine whether arguments are the same type template <class _Ty> _INLINE_VARconstexprboolis_same_v<_Ty, _Ty> = true;