aboutsummaryrefslogtreecommitdiffstats
path: root/util/string/split.h
diff options
context:
space:
mode:
authormanavrion <manavrion@yandex-team.ru>2022-02-10 16:49:16 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:49:16 +0300
commit109de9f4c31b6caaa736ce29a61fce05851e7c02 (patch)
treee509d6d1d860cb27318781b452060fd9ce9b74a1 /util/string/split.h
parent5ba59e58ca0ed3be83efee8a12c92725dfc5f051 (diff)
downloadydb-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.h36
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.