From Jason Turner

[istringstream.cons]

Diff to HTML by rtfpessoa

Files changed (1) hide show
  1. tmp/tmplfz0jsk4/{from.md → to.md} +36 -9
tmp/tmplfz0jsk4/{from.md → to.md} RENAMED
@@ -3,42 +3,45 @@
3
  ``` cpp
4
  explicit basic_istringstream(ios_base::openmode which);
5
  ```
6
 
7
  *Effects:* Initializes the base class with
8
- `basic_istream<charT, traits>(addressof(sb))` [[istream]] and `sb` with
9
- `basic_stringbuf<charT, traits, Allocator>(which | ios_base::in)`
10
  [[stringbuf.cons]].
11
 
12
  ``` cpp
13
  explicit basic_istringstream(
14
  const basic_string<charT, traits, Allocator>& s,
15
  ios_base::openmode which = ios_base::in);
16
  ```
17
 
18
  *Effects:* Initializes the base class with
19
- `basic_istream<charT, traits>(addressof(sb))` [[istream]] and `sb` with
 
20
  `basic_stringbuf<charT, traits, Allocator>(s, which | ios_base::in)`
21
  [[stringbuf.cons]].
22
 
23
  ``` cpp
24
  basic_istringstream(ios_base::openmode which, const Allocator& a);
25
  ```
26
 
27
  *Effects:* Initializes the base class with
28
- `basic_istream<charT, traits>(addressof(sb))` [[istream]] and `sb` with
 
29
  `basic_stringbuf<charT, traits, Allocator>(which | ios_base::in, a)`
30
  [[stringbuf.cons]].
31
 
32
  ``` cpp
33
  explicit basic_istringstream(
34
  basic_string<charT, traits, Allocator>&& s,
35
  ios_base::openmode which = ios_base::in);
36
  ```
37
 
38
  *Effects:* Initializes the base class with
39
- `basic_istream<charT, traits>(addressof(sb))` [[istream]] and `sb` with
 
40
  `basic_stringbuf<charT, traits, Allocator>(std::move(s), which | ios_base::in)`
41
  [[stringbuf.cons]].
42
 
43
  ``` cpp
44
  template<class SAlloc>
@@ -46,31 +49,55 @@ template<class SAlloc>
46
  const basic_string<charT, traits, SAlloc>& s,
47
  ios_base::openmode which, const Allocator& a);
48
  ```
49
 
50
  *Effects:* Initializes the base class with
51
- `basic_istream<charT, traits>(addressof(sb))` [[istream]] and `sb` with
 
52
  `basic_stringbuf<charT, traits, Allocator>(s, which | ios_base::in, a)`
53
  [[stringbuf.cons]].
54
 
55
  ``` cpp
56
  template<class SAlloc>
57
  explicit basic_istringstream(
58
  const basic_string<charT, traits, SAlloc>& s,
59
  ios_base::openmode which = ios_base::in);
60
  ```
61
 
 
 
62
  *Effects:* Initializes the base class with
63
- `basic_istream<charT, traits>(addressof(sb))` [[istream]] and `sb` with
 
64
  `basic_stringbuf<charT, traits, Allocator>(s, which | ios_base::in)`
65
  [[stringbuf.cons]].
66
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
67
  ``` cpp
68
  basic_istringstream(basic_istringstream&& rhs);
69
  ```
70
 
71
  *Effects:* Move constructs from the rvalue `rhs`. This is accomplished
72
  by move constructing the base class, and the contained
73
  `basic_stringbuf`. Then calls
74
- `basic_istream<charT, traits>::set_rdbuf(addressof(sb))` to install the
75
- contained `basic_stringbuf`.
76
 
 
3
  ``` cpp
4
  explicit basic_istringstream(ios_base::openmode which);
5
  ```
6
 
7
  *Effects:* Initializes the base class with
8
+ `basic_istream<charT, traits>(addressof(`*`sb`*`))` [[istream]] and *sb*
9
+ with `basic_stringbuf<charT, traits, Allocator>(which | ios_base::in)`
10
  [[stringbuf.cons]].
11
 
12
  ``` cpp
13
  explicit basic_istringstream(
14
  const basic_string<charT, traits, Allocator>& s,
15
  ios_base::openmode which = ios_base::in);
16
  ```
17
 
18
  *Effects:* Initializes the base class with
19
+ `basic_istream<charT, traits>(addressof(`*`sb`*`))` [[istream]] and *sb*
20
+ with
21
  `basic_stringbuf<charT, traits, Allocator>(s, which | ios_base::in)`
22
  [[stringbuf.cons]].
23
 
24
  ``` cpp
25
  basic_istringstream(ios_base::openmode which, const Allocator& a);
26
  ```
27
 
28
  *Effects:* Initializes the base class with
29
+ `basic_istream<charT, traits>(addressof(`*`sb`*`))` [[istream]] and *sb*
30
+ with
31
  `basic_stringbuf<charT, traits, Allocator>(which | ios_base::in, a)`
32
  [[stringbuf.cons]].
33
 
34
  ``` cpp
35
  explicit basic_istringstream(
36
  basic_string<charT, traits, Allocator>&& s,
37
  ios_base::openmode which = ios_base::in);
38
  ```
39
 
40
  *Effects:* Initializes the base class with
41
+ `basic_istream<charT, traits>(addressof(`*`sb`*`))` [[istream]] and *sb*
42
+ with
43
  `basic_stringbuf<charT, traits, Allocator>(std::move(s), which | ios_base::in)`
44
  [[stringbuf.cons]].
45
 
46
  ``` cpp
47
  template<class SAlloc>
 
49
  const basic_string<charT, traits, SAlloc>& s,
50
  ios_base::openmode which, const Allocator& a);
51
  ```
52
 
53
  *Effects:* Initializes the base class with
54
+ `basic_istream<charT, traits>(addressof(`*`sb`*`))` [[istream]] and *sb*
55
+ with
56
  `basic_stringbuf<charT, traits, Allocator>(s, which | ios_base::in, a)`
57
  [[stringbuf.cons]].
58
 
59
  ``` cpp
60
  template<class SAlloc>
61
  explicit basic_istringstream(
62
  const basic_string<charT, traits, SAlloc>& s,
63
  ios_base::openmode which = ios_base::in);
64
  ```
65
 
66
+ *Constraints:* `is_same_v<SAlloc, Allocator>` is `false`.
67
+
68
  *Effects:* Initializes the base class with
69
+ `basic_istream<charT, traits>(addressof(`*`sb`*`))` [[istream]] and *sb*
70
+ with
71
  `basic_stringbuf<charT, traits, Allocator>(s, which | ios_base::in)`
72
  [[stringbuf.cons]].
73
 
74
+ ``` cpp
75
+ template<class T>
76
+ explicit basic_istringstream(const T& t, ios_base::openmode which = ios_base::in);
77
+ template<class T>
78
+ basic_istringstream(const T& t, const Allocator& a);
79
+ template<class T>
80
+ basic_istringstream(const T& t, ios_base::openmode which, const Allocator& a);
81
+ ```
82
+
83
+ Let `which` be `ios_base::in` for the overload with no parameter
84
+ `which`, and `a` be `Allocator()` for the overload with no parameter
85
+ `a`.
86
+
87
+ *Constraints:*
88
+ `is_convertible_v<const T&, basic_string_view<charT, traits>>` is
89
+ `true`.
90
+
91
+ *Effects:* Initializes the base class with `addressof(`*`sb`*`)`, and
92
+ direct-non-list-initializes *sb* with `t, which | ios_base::in, a`.
93
+
94
  ``` cpp
95
  basic_istringstream(basic_istringstream&& rhs);
96
  ```
97
 
98
  *Effects:* Move constructs from the rvalue `rhs`. This is accomplished
99
  by move constructing the base class, and the contained
100
  `basic_stringbuf`. Then calls
101
+ `basic_istream<charT, traits>::set_rdbuf(addressof(`*`sb`*`))` to
102
+ install the contained `basic_stringbuf`.
103