aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/yt/string/string.h
diff options
context:
space:
mode:
Diffstat (limited to 'library/cpp/yt/string/string.h')
-rw-r--r--library/cpp/yt/string/string.h19
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 = "...";