diff options
author | vurozhkov <vurozhkov@yandex-team.com> | 2024-01-25 13:27:00 +0300 |
---|---|---|
committer | vurozhkov <vurozhkov@yandex-team.com> | 2024-01-25 13:39:47 +0300 |
commit | df7719667920b9121f031932a09fef397987be10 (patch) | |
tree | c826cb70e163e0691f1396bb9ebfda19b46d2807 | |
parent | cbf9c434c0d9cb893e267be898fc85e81127cf62 (diff) | |
download | ydb-df7719667920b9121f031932a09fef397987be10.tar.gz |
add fff-team poject to list of isolated projects
Добавил проект в список изолированных
https://st.yandex-team.ru/
-rw-r--r-- | yt/yt/core/misc/public.h | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/yt/yt/core/misc/public.h b/yt/yt/core/misc/public.h index 1577de2203..fa66b2ffef 100644 --- a/yt/yt/core/misc/public.h +++ b/yt/yt/core/misc/public.h @@ -191,10 +191,18 @@ struct TIsInvocable; template <class T, class TRet, bool NoExcept, class... TArgs> struct TIsInvocable<T, TRet(TArgs...) noexcept(NoExcept)> { +private: + static constexpr bool IsInvocable_ = requires (T&& t, TArgs&&... args) { + { std::forward<T>(t)(std::forward<TArgs>(args)...) } -> std::same_as<TRet>; + }; + + static constexpr bool IsNoThrowInvocable_ = requires (T&& t, TArgs&&... args) { + { std::forward<T>(t)(std::forward<TArgs>(args)...) } noexcept; + }; +public: static constexpr bool Value = - NoExcept ? - std::is_nothrow_invocable_r_v<TRet, T, TArgs...> : - std::is_invocable_r_v<TRet, T, TArgs...>; + IsInvocable_ && + (!NoExcept || IsNoThrowInvocable_); }; template <class T, class Sig> |