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 | |
parent | 5ba59e58ca0ed3be83efee8a12c92725dfc5f051 (diff) | |
download | ydb-109de9f4c31b6caaa736ce29a61fce05851e7c02.tar.gz |
Restoring authorship annotation for <manavrion@yandex-team.ru>. Commit 1 of 2.
-rw-r--r-- | library/cpp/lwtrace/mon/analytics/util.h | 4 | ||||
-rw-r--r-- | library/cpp/lwtrace/mon/mon_lwtrace.cpp | 20 | ||||
-rw-r--r-- | library/cpp/string_utils/url/url.cpp | 30 | ||||
-rw-r--r-- | library/cpp/string_utils/url/url.h | 44 | ||||
-rw-r--r-- | util/string/split.h | 36 | ||||
-rw-r--r-- | util/string/vector.cpp | 10 | ||||
-rw-r--r-- | util/string/vector.h | 80 | ||||
-rw-r--r-- | ydb/core/mind/hive/monitoring.cpp | 4 | ||||
-rw-r--r-- | ydb/core/util/failure_injection.cpp | 2 |
9 files changed, 115 insertions, 115 deletions
diff --git a/library/cpp/lwtrace/mon/analytics/util.h b/library/cpp/lwtrace/mon/analytics/util.h index e07d06cc43..7eb0f0f67f 100644 --- a/library/cpp/lwtrace/mon/analytics/util.h +++ b/library/cpp/lwtrace/mon/analytics/util.h @@ -18,7 +18,7 @@ inline void ParseNameAndOpts(const TString& nameAndOpts, TString& name, THashSet name.clear(); opts.clear(); bool first = true; - auto vs = SplitString(nameAndOpts, "-"); + auto vs = SplitString(nameAndOpts, "-"); for (const auto& s : vs) { if (first) { name = s; @@ -31,7 +31,7 @@ inline void ParseNameAndOpts(const TString& nameAndOpts, TString& name, THashSet inline TString ParseName(const TString& nameAndOpts) { - auto vs = SplitString(nameAndOpts, "-"); + auto vs = SplitString(nameAndOpts, "-"); if (vs.empty()) { return TString(); } else { diff --git a/library/cpp/lwtrace/mon/mon_lwtrace.cpp b/library/cpp/lwtrace/mon/mon_lwtrace.cpp index a61ee9ce22..023655af3c 100644 --- a/library/cpp/lwtrace/mon/mon_lwtrace.cpp +++ b/library/cpp/lwtrace/mon/mon_lwtrace.cpp @@ -352,7 +352,7 @@ private: void ParseQuery(const TString& s) { - auto parts = SplitString(s, "."); + auto parts = SplitString(s, "."); WWW_CHECK(parts.size() <= 3, "too many name specifiers"); ParseParamSelector(parts.back()); if (parts.size() >= 2) { @@ -575,12 +575,12 @@ struct TAdHocTraceConfig { bool ParseId(const TString& id) { if (IsAdHocId(id)) { - for (const TString& block : SplitString(id, "/")) { + for (const TString& block : SplitString(id, "/")) { if (block.empty()) { continue; } size_t cutPos = (block[0] == '.'? 1: 0); - TVector<TString> parts = SplitString(block.substr(cutPos), "."); + TVector<TString> parts = SplitString(block.substr(cutPos), "."); WWW_CHECK(parts.size() >= 2, "too few parts in adhoc trace id '%s' block '%s'", id.data(), block.data()); auto blockPb = Cfg.AddBlocks(); auto pdescPb = blockPb->MutableProbeDesc(); @@ -666,7 +666,7 @@ private: // NOTE: checks for longer action names should go first, your captain. if (a.substr(0, 3) == "lsr") { auto pb = action->MutableRunLogShuttleAction(); - for (const TString& opt : SplitString(a.substr(3), "-")) { + for (const TString& opt : SplitString(a.substr(3), "-")) { if (!opt.empty()) { switch (opt[0]) { case 'i': pb->SetIgnore(true); break; @@ -678,7 +678,7 @@ private: } } else if (a.substr(0, 3) == "lse") { auto pb = action->MutableEditLogShuttleAction(); - for (const TString& opt : SplitString(a.substr(3), "-")) { + for (const TString& opt : SplitString(a.substr(3), "-")) { if (!opt.empty()) { switch (opt[0]) { case 'i': pb->SetIgnore(true); break; @@ -690,7 +690,7 @@ private: action->MutableDropLogShuttleAction(); } else if (a.substr(0, 1) == "l") { auto pb = action->MutableLogAction(); - for (const TString& opt : SplitString(a.substr(1), "-")) { + for (const TString& opt : SplitString(a.substr(1), "-")) { if (!opt.empty()) { switch (opt[0]) { case 't': pb->SetLogTimestamp(true); break; @@ -1027,7 +1027,7 @@ TVector<TString> Subvalues(const TCgiParameters& e, const TString& key) return TVector<TString>(); } else { TVector<TString> ret; - for (const TString& s : SplitString(e.Get(key), ":", 0, KEEP_EMPTY_TOKENS)) { + for (const TString& s : SplitString(e.Get(key), ":", 0, KEEP_EMPTY_TOKENS)) { ret.push_back(UnescapeSubvalue(s)); } if (ret.empty()) { @@ -1039,7 +1039,7 @@ TVector<TString> Subvalues(const TCgiParameters& e, const TString& key) TString ParseTagsOut(const TString& taggedStr, TTags& tags) { - auto vec = SplitString(taggedStr, "-"); + auto vec = SplitString(taggedStr, "-"); if (vec.empty()) { return ""; } @@ -4363,12 +4363,12 @@ private: SeriesSelectors(out, e, "xn", "yns", data); out.Clear(); out << NMonitoring::HTTPOKJSON; - out << ToJsonFlot(data, xn, SplitString(e.Get("yns"), ":")); + out << ToJsonFlot(data, xn, SplitString(e.Get("yns"), ":")); } else if (outFormat == "flot") { SeriesSelectors(out, e, "xn", "yns", data); TString selectors = out.Str(); - TVector<TString> ynos = SplitString(e.Get("yns"), ":"); + TVector<TString> ynos = SplitString(e.Get("yns"), ":"); out.Clear(); out << NMonitoring::HTTPOKHTML; out << "<!DOCTYPE html>" << Endl; diff --git a/library/cpp/string_utils/url/url.cpp b/library/cpp/string_utils/url/url.cpp index 85f4ac5d69..ffd610d21e 100644 --- a/library/cpp/string_utils/url/url.cpp +++ b/library/cpp/string_utils/url/url.cpp @@ -62,17 +62,17 @@ namespace { } } -namespace NUrl { - - TSplitUrlToHostAndPathResult SplitUrlToHostAndPath(const TStringBuf url) { - TStringBuf host = GetSchemeHostAndPort(url, /*trimHttp=*/false, /*trimDefaultPort=*/false); - TStringBuf path = url; - path.SkipPrefix(host); - return {host, path}; - } - -} // namespace NUrl - +namespace NUrl { + + TSplitUrlToHostAndPathResult SplitUrlToHostAndPath(const TStringBuf url) { + TStringBuf host = GetSchemeHostAndPort(url, /*trimHttp=*/false, /*trimDefaultPort=*/false); + TStringBuf path = url; + path.SkipPrefix(host); + return {host, path}; + } + +} // namespace NUrl + size_t GetHttpPrefixSize(const char* url, bool ignorehttps) noexcept { return GetHttpPrefixSizeImpl<char>(url, TUncheckedSize(), ignorehttps); } @@ -183,13 +183,13 @@ TStringBuf GetSchemeHostAndPort(const TStringBuf url, bool trimHttp, bool trimDe } void SplitUrlToHostAndPath(const TStringBuf url, TStringBuf& host, TStringBuf& path) { - auto [hostBuf, pathBuf] = NUrl::SplitUrlToHostAndPath(url); - host = hostBuf; - path = pathBuf; + auto [hostBuf, pathBuf] = NUrl::SplitUrlToHostAndPath(url); + host = hostBuf; + path = pathBuf; } void SplitUrlToHostAndPath(const TStringBuf url, TString& host, TString& path) { - auto [hostBuf, pathBuf] = NUrl::SplitUrlToHostAndPath(url); + auto [hostBuf, pathBuf] = NUrl::SplitUrlToHostAndPath(url); host = hostBuf; path = pathBuf; } diff --git a/library/cpp/string_utils/url/url.h b/library/cpp/string_utils/url/url.h index 84137ccc57..ab8924cdc2 100644 --- a/library/cpp/string_utils/url/url.h +++ b/library/cpp/string_utils/url/url.h @@ -1,28 +1,28 @@ #pragma once #include <util/generic/fwd.h> -#include <util/generic/strbuf.h> - -namespace NUrl { - - /** - * Splits URL to host and path - * Example: - * auto [host, path] = SplitUrlToHostAndPath(url); - * - * @param[in] url any URL - * @param[out] <host, path> parsed host and path - */ - struct TSplitUrlToHostAndPathResult { - TStringBuf host; - TStringBuf path; - }; - - Y_PURE_FUNCTION - TSplitUrlToHostAndPathResult SplitUrlToHostAndPath(const TStringBuf url); - -} // namespace NUrl - +#include <util/generic/strbuf.h> + +namespace NUrl { + + /** + * Splits URL to host and path + * Example: + * auto [host, path] = SplitUrlToHostAndPath(url); + * + * @param[in] url any URL + * @param[out] <host, path> parsed host and path + */ + struct TSplitUrlToHostAndPathResult { + TStringBuf host; + TStringBuf path; + }; + + Y_PURE_FUNCTION + TSplitUrlToHostAndPathResult SplitUrlToHostAndPath(const TStringBuf url); + +} // namespace NUrl + Y_PURE_FUNCTION size_t GetHttpPrefixSize(const char* url, bool ignorehttps = false) noexcept; Y_PURE_FUNCTION diff --git a/util/string/split.h b/util/string/split.h index bc46d9e64c..153f5c2ef3 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. diff --git a/util/string/vector.cpp b/util/string/vector.cpp index 9ba401f0a2..8d668d8f3d 100644 --- a/util/string/vector.cpp +++ b/util/string/vector.cpp @@ -46,7 +46,7 @@ static inline void DoSplit0(C* res, const TBasicStringBuf<TChr> str, TDelim& d, } template <typename TChr> -static void SplitStringImplT(TVector<std::conditional_t<std::is_same<TChr, wchar16>::value, TUtf16String, TString>>* res, +static void SplitStringImplT(TVector<std::conditional_t<std::is_same<TChr, wchar16>::value, TUtf16String, TString>>* res, const TBasicStringBuf<TChr> str, const TChr* delim, size_t maxFields, int options) { if (!*delim) { return; @@ -63,19 +63,19 @@ static void SplitStringImplT(TVector<std::conditional_t<std::is_same<TChr, wchar } } -void ::NPrivate::SplitStringImpl(TVector<TString>* res, const char* ptr, const char* delim, size_t maxFields, int options) { +void ::NPrivate::SplitStringImpl(TVector<TString>* res, const char* ptr, const char* delim, size_t maxFields, int options) { return SplitStringImplT<char>(res, TStringBuf(ptr), delim, maxFields, options); } -void ::NPrivate::SplitStringImpl(TVector<TString>* res, const char* ptr, size_t len, const char* delim, size_t maxFields, int options) { +void ::NPrivate::SplitStringImpl(TVector<TString>* res, const char* ptr, size_t len, const char* delim, size_t maxFields, int options) { return SplitStringImplT<char>(res, TStringBuf(ptr, len), delim, maxFields, options); } -void ::NPrivate::SplitStringImpl(TVector<TUtf16String>* res, const wchar16* ptr, const wchar16* delimiter, size_t maxFields, int options) { +void ::NPrivate::SplitStringImpl(TVector<TUtf16String>* res, const wchar16* ptr, const wchar16* delimiter, size_t maxFields, int options) { return SplitStringImplT<wchar16>(res, TWtringBuf(ptr), delimiter, maxFields, options); } -void ::NPrivate::SplitStringImpl(TVector<TUtf16String>* res, const wchar16* ptr, size_t len, const wchar16* delimiter, size_t maxFields, int options) { +void ::NPrivate::SplitStringImpl(TVector<TUtf16String>* res, const wchar16* ptr, size_t len, const wchar16* delimiter, size_t maxFields, int options) { return SplitStringImplT<wchar16>(res, TWtringBuf(ptr, len), delimiter, maxFields, options); } diff --git a/util/string/vector.h b/util/string/vector.h index e36c348bbe..392c12cbb8 100644 --- a/util/string/vector.h +++ b/util/string/vector.h @@ -15,54 +15,54 @@ // // NOTE: Check StringSplitter below to get more convenient split string interface. -namespace NPrivate { - - void SplitStringImpl(TVector<TString>* res, const char* ptr, - const char* delimiter, size_t maxFields, int options); - void SplitStringImpl(TVector<TString>* res, const char* ptr, size_t len, - const char* delimiter, size_t maxFields, int options); - - void SplitStringImpl(TVector<TUtf16String>* res, const wchar16* ptr, - const wchar16* delimiter, size_t maxFields, int options); - void SplitStringImpl(TVector<TUtf16String>* res, const wchar16* ptr, size_t len, - const wchar16* delimiter, size_t maxFields, int options); - - template <typename C> - struct TStringDeducer; - - template <> - struct TStringDeducer<char> { - using type = TString; - }; - - template <> - struct TStringDeducer<wchar16> { - using type = TUtf16String; - }; -} - -template <typename C> -TVector<typename ::NPrivate::TStringDeducer<C>::type> -SplitString(const C* ptr, const C* delimiter, - size_t maxFields = 0, int options = 0) { - TVector<typename ::NPrivate::TStringDeducer<C>::type> res; +namespace NPrivate { + + void SplitStringImpl(TVector<TString>* res, const char* ptr, + const char* delimiter, size_t maxFields, int options); + void SplitStringImpl(TVector<TString>* res, const char* ptr, size_t len, + const char* delimiter, size_t maxFields, int options); + + void SplitStringImpl(TVector<TUtf16String>* res, const wchar16* ptr, + const wchar16* delimiter, size_t maxFields, int options); + void SplitStringImpl(TVector<TUtf16String>* res, const wchar16* ptr, size_t len, + const wchar16* delimiter, size_t maxFields, int options); + + template <typename C> + struct TStringDeducer; + + template <> + struct TStringDeducer<char> { + using type = TString; + }; + + template <> + struct TStringDeducer<wchar16> { + using type = TUtf16String; + }; +} + +template <typename C> +TVector<typename ::NPrivate::TStringDeducer<C>::type> +SplitString(const C* ptr, const C* delimiter, + size_t maxFields = 0, int options = 0) { + TVector<typename ::NPrivate::TStringDeducer<C>::type> res; ::NPrivate::SplitStringImpl(&res, ptr, delimiter, maxFields, options); return res; } -template <typename C> -TVector<typename ::NPrivate::TStringDeducer<C>::type> -SplitString(const C* ptr, size_t len, const C* delimiter, - size_t maxFields = 0, int options = 0) { - TVector<typename ::NPrivate::TStringDeducer<C>::type> res; +template <typename C> +TVector<typename ::NPrivate::TStringDeducer<C>::type> +SplitString(const C* ptr, size_t len, const C* delimiter, + size_t maxFields = 0, int options = 0) { + TVector<typename ::NPrivate::TStringDeducer<C>::type> res; ::NPrivate::SplitStringImpl(&res, ptr, len, delimiter, maxFields, options); return res; } -template <typename C> -TVector<typename ::NPrivate::TStringDeducer<C>::type> -SplitString(const typename ::NPrivate::TStringDeducer<C>::type& str, const C* delimiter, - size_t maxFields = 0, int options = 0) { +template <typename C> +TVector<typename ::NPrivate::TStringDeducer<C>::type> +SplitString(const typename ::NPrivate::TStringDeducer<C>::type& str, const C* delimiter, + size_t maxFields = 0, int options = 0) { return SplitString(str.data(), str.size(), delimiter, maxFields, options); } diff --git a/ydb/core/mind/hive/monitoring.cpp b/ydb/core/mind/hive/monitoring.cpp index 7e9a83b354..26f071f8dd 100644 --- a/ydb/core/mind/hive/monitoring.cpp +++ b/ydb/core/mind/hive/monitoring.cpp @@ -733,7 +733,7 @@ public: db.Table<Schema::State>().Key(TSchemeIds::State::DefaultState).Update<Schema::State::Config>(Self->DatabaseConfig); } if (params.contains("allowedMetrics")) { - TVector<TString> allowedMetrics = SplitString(params.Get("allowedMetrics"), ";"); + TVector<TString> allowedMetrics = SplitString(params.Get("allowedMetrics"), ";"); for (TStringBuf tabletAllowedMetrics : allowedMetrics) { TStringBuf tabletType = tabletAllowedMetrics.NextTok(':'); TTabletTypes::EType type = GetShortTabletType(TString(tabletType)); @@ -2129,7 +2129,7 @@ public: { TabletId = FromStringWithDefault<TTabletId>(Event->Cgi().Get("tablet"), TabletId); TabletType = (TTabletTypes::EType)FromStringWithDefault<int>(Event->Cgi().Get("type"), TabletType); - TabletChannels = Scan<ui32>(SplitString(Event->Cgi().Get("channel"), ",")); + TabletChannels = Scan<ui32>(SplitString(Event->Cgi().Get("channel"), ",")); TabletPercent = FromStringWithDefault<int>(Event->Cgi().Get("percent"), TabletPercent); GroupId = FromStringWithDefault(Event->Cgi().Get("group"), GroupId); ForcedGroupIds = Scan<ui32>(SplitString(Event->Cgi().Get("forcedGroup"), ",")); diff --git a/ydb/core/util/failure_injection.cpp b/ydb/core/util/failure_injection.cpp index 9eeaaa968b..5287955f63 100644 --- a/ydb/core/util/failure_injection.cpp +++ b/ydb/core/util/failure_injection.cpp @@ -279,7 +279,7 @@ namespace NKikimr { } return; } - items.emplace_back(std::move(probe), Nothing(), hitCount); + items.emplace_back(std::move(probe), Nothing(), hitCount); if (pos < queue.size()) { ++pos; } else { |