#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(); }