66
77``` cpp
88basic_stringbuf ()
9- : basic_stringbuf(ios_base::in | ios_base::out) {} // (1) C++11
9+ : basic_stringbuf(ios_base::in | ios_base::out) {} // (1) C++11
1010explicit basic_stringbuf(
11- ios_base::openmode which); // (2) C++11
11+ ios_base::openmode which); // (2) C++11
1212explicit basic_stringbuf(
13- ios_base::openmode which = ios_base::in | ios_base::out); // (1)+(2) C++03
13+ ios_base::openmode which = ios_base::in | ios_base::out); // (1)+(2) C++03
1414
1515explicit basic_stringbuf(
1616 const basic_string<CharT, Traits, Allocator>& s,
17- ios_base::openmode which = ios_base::in | ios_base::out); // (2 ) C++03
17+ ios_base::openmode which = ios_base::in | ios_base::out); // (3 ) C++03
1818
1919explicit basic_stringbuf(
2020 basic_string<CharT, Traits, Allocator>&& s,
21- ios_base::openmode which = ios_base::in | ios_base::out); // (3 ) C++20
21+ ios_base::openmode which = ios_base::in | ios_base::out); // (4 ) C++20
2222
2323basic_stringbuf(
2424 ios_base::openmode which,
25- const Allocator& a); // (4 ) C++20
25+ const Allocator& a); // (5 ) C++20
2626
2727explicit basic_stringbuf(const Allocator& a)
28- : basic_stringbuf(ios_base::in | ios_base::out, a) {} // (5 ) C++20
28+ : basic_stringbuf(ios_base::in | ios_base::out, a) {} // (6 ) C++20
2929
3030explicit basic_stringbuf(
3131 const basic_string<CharT, Traits, Allocator>& s,
3232 const Allocator& a)
33- : basic_stringbuf(s, ios_base::in | ios_base::out, a) {} // (6 ) C++20
33+ : basic_stringbuf(s, ios_base::in | ios_base::out, a) {} // (7 ) C++20
3434
3535explicit basic_stringbuf(
3636 const basic_string<CharT, Traits, Allocator>& s,
3737 ios_base::openmode which,
38- const Allocator& a); // (7 ) C++20
38+ const Allocator& a); // (8 ) C++20
3939
4040template<class SAlloc >
4141explicit basic_stringbuf(
4242 const basic_string<CharT, Traits, SAlloc>& s,
43- ios_base::openmode which = ios_base::in | ios_base::out); // (8 ) C++20
43+ ios_base::openmode which = ios_base::in | ios_base::out); // (9 ) C++20
4444
4545template<class SAlloc >
4646basic_stringbuf(
4747 const basic_string<CharT, Traits, SAlloc>& s,
4848 const Allocator& a)
49- : basic_stringbuf(s, ios_base::in | ios_base::out, a) {} // (9 ) C++20
49+ : basic_stringbuf(s, ios_base::in | ios_base::out, a) {} // (10 ) C++20
5050
5151template<class SAlloc >
5252basic_stringbuf(
5353 const basic_string<CharT, Traits, SAlloc>& s,
5454 ios_base::openmode which,
55- const Allocator& a); // (10 ) C++20
55+ const Allocator& a); // (11 ) C++20
5656
57- basic_stringbuf(basic_stringbuf&& rhs); // (11 ) C++11
58- basic_stringbuf(basic_stringbuf&& rhs, const Allocator& a); // (12 ) C++20
57+ basic_stringbuf(basic_stringbuf&& rhs); // (12 ) C++11
58+ basic_stringbuf(basic_stringbuf&& rhs, const Allocator& a); // (13 ) C++20
5959
6060template<class T >
6161explicit
6262basic_stringbuf(
6363 const T& t,
64- ios_base::openmode which = ios_base::in | ios_base::out); // (13 ) C++26
64+ ios_base::openmode which = ios_base::in | ios_base::out); // (14 ) C++26
6565
6666template<class T >
6767basic_stringbuf(
6868 const T& t,
69- const Allocator& a); // (14 ) C++26
69+ const Allocator& a); // (15 ) C++26
7070
7171template<class T >
7272basic_stringbuf(
7373 const T& t,
7474 ios_base::openmode which,
75- const Allocator& a); // (15 ) C++26
75+ const Allocator& a); // (16 ) C++26
7676```
7777* ios_base[link /reference/ios/ios_base.md]
7878* basic_string[link /reference/string/basic_string.md]
@@ -83,22 +83,23 @@ basic_stringbuf(
8383- (1) : デフォルトコンストラクタ
8484- (2) : 指定されたモードで構築する
8585- (3) : 入力文字列として[`std::basic_string`](/reference/string/basic_string.md)オブジェクトのコピーと、指定されたモードで構築する
86- - (4) : モードとアロケータを指定して構築する
87- - (5) : アロケータを指定して構築する
88- - (6) : 入力文字列として[`std::basic_string`](/reference/string/basic_string.md)オブジェクトのコピーと、アロケータを指定して構築する
89- - (7) : 入力文字列として[`std::basic_string`](/reference/string/basic_string.md)オブジェクトのコピー、モード、アロケータを指定して構築する
90- - (8) : 入力文字列として`Allocator`に変換可能なアロケータ型をもつ[`std::basic_string`](/reference/string/basic_string.md)オブジェクトのコピーと、指定されたモードで構築する
91- - (9) : 入力文字列として`Allocator`に変換可能なアロケータ型をもつ[`std::basic_string`](/reference/string/basic_string.md)オブジェクトのコピーと、アロケータを指定して構築する
92- - (10) : 入力文字列として`Allocator`に変換可能なアロケータ型をもつ[`std::basic_string`](/reference/string/basic_string.md)オブジェクトのコピー、モード、アロケータを指定して構築する
93- - (11) : ムーブコンストラクタ
94- - (12) : ムーブコンストラクタでアロケータを指定して構築する
95- - (13) : 入力文字列として[`basic_string_view`](/reference/string_view/basic_string_view.md)に変換可能な文字列と、モードを設定する
96- - (14) : 入力文字列として[`basic_string_view`](/reference/string_view/basic_string_view.md)に変換可能な文字列と、アロケータを設定する
97- - (15) : 入力文字列として[`basic_string_view`](/reference/string_view/basic_string_view.md)に変換可能な文字列と、モードとアロケータを設定する
86+ - (4) : 入力文字列として[`std::basic_string`](/reference/string/basic_string.md)オブジェクトの右辺値参照と、指定されたモードで構築する
87+ - (5) : モードとアロケータを指定して構築する
88+ - (6) : アロケータを指定して構築する
89+ - (7) : 入力文字列として[`std::basic_string`](/reference/string/basic_string.md)オブジェクトのコピーと、アロケータを指定して構築する
90+ - (8) : 入力文字列として[`std::basic_string`](/reference/string/basic_string.md)オブジェクトのコピー、モード、アロケータを指定して構築する
91+ - (9) : 入力文字列として`Allocator`に変換可能なアロケータ型をもつ[`std::basic_string`](/reference/string/basic_string.md)オブジェクトのコピーと、指定されたモードで構築する
92+ - (10) : 入力文字列として`Allocator`に変換可能なアロケータ型をもつ[`std::basic_string`](/reference/string/basic_string.md)オブジェクトのコピーと、アロケータを指定して構築する
93+ - (11) : 入力文字列として`Allocator`に変換可能なアロケータ型をもつ[`std::basic_string`](/reference/string/basic_string.md)オブジェクトのコピー、モード、アロケータを指定して構築する
94+ - (12) : ムーブコンストラクタ
95+ - (13) : ムーブコンストラクタでアロケータを指定して構築する
96+ - (14) : 入力文字列として[`basic_string_view`](/reference/string_view/basic_string_view.md)に変換可能な文字列と、モードを設定する
97+ - (15) : 入力文字列として[`basic_string_view`](/reference/string_view/basic_string_view.md)に変換可能な文字列と、アロケータを設定する
98+ - (16) : 入力文字列として[`basic_string_view`](/reference/string_view/basic_string_view.md)に変換可能な文字列と、モードとアロケータを設定する
9899
99100
100101## テンプレートパラメータ制約
101- - (13 ), (14 ), (15 ) : `is_convertible_v<const T&, basic_string_view<CharT, Traits>>`が`true`であること
102+ - (14 ), (15 ), (16 ) : `is_convertible_v<const T&, basic_string_view<CharT, Traits>>`が`true`であること
102103
103104
104105## 効果
@@ -107,12 +108,13 @@ basic_stringbuf(
107108- (3) : 内部の文字列バッファを`s`のコピー、モードは`which`に設定する
108109- (4) : 内部の文字列バッファを`std::move(s)`で、モードは`which`に設定する
109110- (5) : 内部の文字列バッファを空にし、モードは`which`、アロケータは`a`に設定する
110- - (6), (7), (8), (9), (10) : 各引数は内部状態の初期化に使用される
111- - (11) : `rhs`から`basic_stringbuf`オブジェクトをムーブ構築する
112- - (12) : `rhs`から`basic_stringbuf`オブジェクトをムーブ構築し、アロケータは`a`を使用する
113- - (13) : `basic_string_view<CharT, Traits>(t)`で文字列を初期化し、モードは`which`に設定する
114- - (14) : `basic_string_view<CharT, Traits>(t)`で文字列を初期化し、モードは`ios_base::in | ios_base::out`、アロケータは`a`に設定する
115- - (15) : `basic_string_view<CharT, Traits>(t)`で文字列を初期化し、モードは`which`、アロケータは`a`に設定する
111+ - (6) : 内部の文字列バッファを空にし、モードは`ios_base::in | ios_base::out`、アロケータは`a`に設定する
112+ - (7), (8), (9), (10), (11) : 各引数は内部状態の初期化に使用される
113+ - (12) : `rhs`から`basic_stringbuf`オブジェクトをムーブ構築する
114+ - (13) : `rhs`から`basic_stringbuf`オブジェクトをムーブ構築し、アロケータは`a`を使用する
115+ - (14) : `basic_string_view<CharT, Traits>(t)`で文字列を初期化し、モードは`which`に設定する
116+ - (15) : `basic_string_view<CharT, Traits>(t)`で文字列を初期化し、モードは`ios_base::in | ios_base::out`、アロケータは`a`に設定する
117+ - (16) : `basic_string_view<CharT, Traits>(t)`で文字列を初期化し、モードは`which`、アロケータは`a`に設定する
116118
117119
118120## 例
0 commit comments