diff options
Diffstat (limited to 'library/cpp/yt/string/string.h')
-rw-r--r-- | library/cpp/yt/string/string.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/library/cpp/yt/string/string.h b/library/cpp/yt/string/string.h index 8257c1a5ea..b91d1b3805 100644 --- a/library/cpp/yt/string/string.h +++ b/library/cpp/yt/string/string.h @@ -27,6 +27,25 @@ struct TDefaultFormatter } }; +//! Bind spec to a formatter. +//! Used in ranges processing. +class TSpecBoundFormatter +{ +public: + explicit TSpecBoundFormatter(TStringBuf spec) + : Spec_(spec) + { } + + template <class T> + void operator()(TStringBuilderBase* builder, const T& obj) const + { + FormatValue(builder, obj, Spec_); + } + +private: + TStringBuf Spec_; +}; + static constexpr TStringBuf DefaultJoinToStringDelimiter = ", "; static constexpr TStringBuf DefaultKeyValueDelimiter = ": "; static constexpr TStringBuf DefaultRangeEllipsisFormat = "..."; |