diff options
author | yuraaka <yuraaka@yandex-team.ru> | 2022-02-10 16:47:05 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:47:05 +0300 |
commit | 5577dc406121f6fb3f45b227c01f4251880193a1 (patch) | |
tree | b83306b6e37edeea782e9eed673d89286c4fef35 /util/generic/typetraits.h | |
parent | 4230543261d7a38ef4dc14785ae0d45f2da43704 (diff) | |
download | ydb-5577dc406121f6fb3f45b227c01f4251880193a1.tar.gz |
Restoring authorship annotation for <yuraaka@yandex-team.ru>. Commit 2 of 2.
Diffstat (limited to 'util/generic/typetraits.h')
-rw-r--r-- | util/generic/typetraits.h | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/util/generic/typetraits.h b/util/generic/typetraits.h index 9cb9527a8d..d165bd1a06 100644 --- a/util/generic/typetraits.h +++ b/util/generic/typetraits.h @@ -4,7 +4,7 @@ #include <util/system/defaults.h> -#include <iterator> +#include <iterator> #include <type_traits> #include <stlfwd> @@ -300,21 +300,21 @@ using TEnableIfTuple = std::enable_if_t<::TDisjunction<::TIsSpecializationOf<std ::TIsSpecializationOf<std::pair, std::decay_t<T>>>::value, R>; -namespace NPrivate { - // To allow ADL with custom begin/end - using std::begin; - using std::end; - - template <typename T> +namespace NPrivate { + // To allow ADL with custom begin/end + using std::begin; + using std::end; + + template <typename T> auto IsIterableImpl(int) -> decltype( begin(std::declval<T&>()) != end(std::declval<T&>()), // begin/end and operator != - ++std::declval<decltype(begin(std::declval<T&>()))&>(), // operator ++ + ++std::declval<decltype(begin(std::declval<T&>()))&>(), // operator ++ *begin(std::declval<T&>()), // operator* std::true_type{}); - - template <typename T> - std::false_type IsIterableImpl(...); -} - -template <typename T> -using TIsIterable = decltype(NPrivate::IsIterableImpl<T>(0)); + + template <typename T> + std::false_type IsIterableImpl(...); +} + +template <typename T> +using TIsIterable = decltype(NPrivate::IsIterableImpl<T>(0)); |