From Jason Turner

[formatter.requirements]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmp038t5ye4/{from.md → to.md} +34 -0
tmp/tmp038t5ye4/{from.md → to.md} RENAMED
@@ -0,0 +1,34 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### Formatter requirements <a id="formatter.requirements">[[formatter.requirements]]</a>
2
+
3
+ A type `F` meets the requirements if:
4
+
5
+ - it meets the
6
+ - *Cpp17DefaultConstructible* ([[cpp17.defaultconstructible]]),
7
+ - *Cpp17CopyConstructible* ([[cpp17.copyconstructible]]),
8
+ - *Cpp17CopyAssignable* ([[cpp17.copyassignable]]), and
9
+ - *Cpp17Destructible* ([[cpp17.destructible]])
10
+
11
+ requirements,
12
+ - it is swappable [[swappable.requirements]] for lvalues, and
13
+ - the expressions shown in [[formatter]] are valid and have the
14
+ indicated semantics.
15
+
16
+ Given character type `charT`, output iterator type `Out`, and formatting
17
+ argument type `T`, in [[formatter]]:
18
+
19
+ - `f` is a value of type `F`,
20
+ - `u` is an lvalue of type `T`,
21
+ - `t` is a value of a type convertible to (possibly const) `T`,
22
+ - `PC` is `basic_format_parse_context<charT>`,
23
+ - `FC` is `basic_format_context<Out, charT>`,
24
+ - `pc` is an lvalue of type `PC`, and
25
+ - `fc` is an lvalue of type `FC`.
26
+
27
+ `pc.begin()` points to the beginning of the *format-spec*
28
+ [[format.string]] of the replacement field being formatted in the format
29
+ string. If *format-spec* is empty then either `pc.begin() == pc.end()`
30
+ or `*pc.begin() == '}'`.
31
+
32
+ [*Note 1*: This allows formatters to emit meaningful error
33
+ messages. — *end note*]
34
+