From 1110808a9d39d4b808aef724c861a2e1a38d2a69 Mon Sep 17 00:00:00 2001 From: Devtools Arcadia <arcadia-devtools@yandex-team.ru> Date: Mon, 7 Feb 2022 18:08:42 +0300 Subject: intermediate changes ref:cde9a383711a11544ce7e107a78147fb96cc4029 --- library/cpp/messagebus/www/concat_strings.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 library/cpp/messagebus/www/concat_strings.h (limited to 'library/cpp/messagebus/www/concat_strings.h') diff --git a/library/cpp/messagebus/www/concat_strings.h b/library/cpp/messagebus/www/concat_strings.h new file mode 100644 index 0000000000..7b730564eb --- /dev/null +++ b/library/cpp/messagebus/www/concat_strings.h @@ -0,0 +1,22 @@ +#pragma once + +#include <util/generic/string.h> +#include <util/stream/str.h> + +// ATTN: not equivalent to TString::Join - cat concat anything "outputable" to stream, not only TString convertable types. + +inline void DoConcatStrings(TStringStream&) { +} + +template <class T, class... R> +inline void DoConcatStrings(TStringStream& ss, const T& t, const R&... r) { + ss << t; + DoConcatStrings(ss, r...); +} + +template <class... R> +inline TString ConcatStrings(const R&... r) { + TStringStream ss; + DoConcatStrings(ss, r...); + return ss.Str(); +} -- cgit v1.2.3