From Jason Turner

[ostream.manip]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmppjn66wd6/{from.md → to.md} +44 -1
tmp/tmppjn66wd6/{from.md → to.md} RENAMED
@@ -1,6 +1,9 @@
1
- #### Standard `basic_ostream` manipulators <a id="ostream.manip">[[ostream.manip]]</a>
 
 
 
2
 
3
  ``` cpp
4
  template<class charT, class traits>
5
  basic_ostream<charT, traits>& endl(basic_ostream<charT, traits>& os);
6
  ```
@@ -26,5 +29,45 @@ template <class charT, class traits>
26
 
27
  *Effects:* Calls `os.flush()`.
28
 
29
  *Returns:* `os`.
30
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ #### Standard manipulators <a id="ostream.manip">[[ostream.manip]]</a>
2
+
3
+ Each instantiation of any of the function templates specified in this
4
+ subclause is a designated addressable function [[namespace.std]].
5
 
6
  ``` cpp
7
  template<class charT, class traits>
8
  basic_ostream<charT, traits>& endl(basic_ostream<charT, traits>& os);
9
  ```
 
29
 
30
  *Effects:* Calls `os.flush()`.
31
 
32
  *Returns:* `os`.
33
 
34
+ ``` cpp
35
+ template<class charT, class traits>
36
+ basic_ostream<charT, traits>& emit_on_flush(basic_ostream<charT, traits>& os);
37
+ ```
38
+
39
+ *Effects:* If `os.rdbuf()` is a
40
+ `basic_syncbuf<charT, traits, Allocator>*`, called `buf` for the purpose
41
+ of exposition, calls `buf->set_emit_on_sync(true)`. Otherwise this
42
+ manipulator has no effect.
43
+
44
+ [*Note 1*: To work around the issue that the `Allocator` template
45
+ argument cannot be deduced, implementations can introduce an
46
+ intermediate base class to `basic_syncbuf` that manages its
47
+ `emit_on_sync` flag. — *end note*]
48
+
49
+ *Returns:* `os`.
50
+
51
+ ``` cpp
52
+ template<class charT, class traits>
53
+ basic_ostream<charT, traits>& noemit_on_flush(basic_ostream<charT, traits>& os);
54
+ ```
55
+
56
+ *Effects:* If `os.rdbuf()` is a
57
+ `basic_syncbuf<charT, traits, Allocator>*`, called `buf` for the purpose
58
+ of exposition, calls `buf->set_emit_on_sync(false)`. Otherwise this
59
+ manipulator has no effect.
60
+
61
+ *Returns:* `os`.
62
+
63
+ ``` cpp
64
+ template<class charT, class traits>
65
+ basic_ostream<charT, traits>& flush_emit(basic_ostream<charT, traits>& os);
66
+ ```
67
+
68
+ *Effects:* Calls `os.flush()`. Then, if `os.rdbuf()` is a
69
+ `basic_syncbuf<charT, traits, Allocator>*`, called `buf` for the purpose
70
+ of exposition, calls `buf->emit()`.
71
+
72
+ *Returns:* `os`.
73
+