diff options
author | manavrion <manavrion@yandex-team.ru> | 2022-02-10 16:49:16 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:49:16 +0300 |
commit | 109de9f4c31b6caaa736ce29a61fce05851e7c02 (patch) | |
tree | e509d6d1d860cb27318781b452060fd9ce9b74a1 /util/string/split.h | |
parent | 5ba59e58ca0ed3be83efee8a12c92725dfc5f051 (diff) | |
download | ydb-109de9f4c31b6caaa736ce29a61fce05851e7c02.tar.gz |
Restoring authorship annotation for <manavrion@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'util/string/split.h')
-rw-r--r-- | util/string/split.h | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/util/string/split.h b/util/string/split.h index bc46d9e64c6..153f5c2ef3e 100644 --- a/util/string/split.h +++ b/util/string/split.h @@ -22,20 +22,20 @@ // NOTE: Check StringSplitter below to get more convenient split string interface. namespace NStringSplitPrivate { - - template <class T, class I, class = void> + + template <class T, class I, class = void> struct TIsConsumer: std::false_type {}; - - template <class T, class I> - struct TIsConsumer< - T, I, - TVoidT<decltype(std::declval<T>().Consume( - std::declval<I>(), std::declval<I>(), std::declval<I>()))>> - : std::true_type {}; - - template <class T, class I> - constexpr bool TIsConsumerV = TIsConsumer<T, I>::value; - + + template <class T, class I> + struct TIsConsumer< + T, I, + TVoidT<decltype(std::declval<T>().Consume( + std::declval<I>(), std::declval<I>(), std::declval<I>()))>> + : std::true_type {}; + + template <class T, class I> + constexpr bool TIsConsumerV = TIsConsumer<T, I>::value; + template <class T> T* Find(T* str, std::common_type_t<T> ch) { for (; *str; ++str) { @@ -47,11 +47,11 @@ namespace NStringSplitPrivate { return nullptr; } -} - +} + template <class I, class TDelim, class TConsumer> std::enable_if_t<::NStringSplitPrivate::TIsConsumerV<TConsumer, I>> -SplitString(I b, I e, const TDelim& d, TConsumer&& c) { +SplitString(I b, I e, const TDelim& d, TConsumer&& c) { I l, i; do { @@ -62,7 +62,7 @@ SplitString(I b, I e, const TDelim& d, TConsumer&& c) { template <class I, class TDelim, class TConsumer> std::enable_if_t<::NStringSplitPrivate::TIsConsumerV<TConsumer, I>> -SplitString(I b, const TDelim& d, TConsumer&& c) { +SplitString(I b, const TDelim& d, TConsumer&& c) { I l, i; do { @@ -404,7 +404,7 @@ static inline void Split(char* buf, char ch, T* res) { TCharDelimiter<char> delim(ch); TSimplePusher<T> pusher = {res}; - SplitString(buf, delim, pusher); + SplitString(buf, delim, pusher); } /// Split string into res vector. Res vector is cleared before split. |