[format.range.fmtset] # 28 Text processing library [[text]](./#text) ## 28.5 Formatting [[format]](format#range.fmtset) ### 28.5.7 Formatting of ranges [[format.range]](format.range#fmtset) #### 28.5.7.5 Specialization of *range-default-formatter* for sets [format.range.fmtset] [🔗](#lib:range-default-formatter) namespace std {templatestruct *range-default-formatter* {private:using *maybe-const-set* = *fmt-maybe-const*; // *exposition only* range_formatter>, charT> *underlying_*; // *exposition only*public:constexpr *range-default-formatter*(); templateconstexpr typename ParseContext::iterator parse(ParseContext& ctx); templatetypename FormatContext::iterator format(*maybe-const-set*& r, FormatContext& ctx) const; };} [🔗](#lib:range-default-formatter,constructor) `constexpr range-default-formatter(); ` [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L8316) *Effects*: Equivalent to:*underlying_*.set_brackets(*STATICALLY-WIDEN*("{"), *STATICALLY-WIDEN*("}")); [🔗](#lib:parse,range-default-formatter) `template constexpr typename ParseContext::iterator parse(ParseContext& ctx); ` [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L8332) *Effects*: Equivalent to: return *underlying_*.parse(ctx); [🔗](#lib:format,range-default-formatter) `template typename FormatContext::iterator format(maybe-const-set& r, FormatContext& ctx) const; ` [3](#3) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/text.tex#L8345) *Effects*: Equivalent to: return *underlying_*.format(r, ctx);