std::basic_filebuf<CharT,Traits>:: overflow
|
protected
:
virtual int_type overflow ( int_type ch = Traits :: eof ( ) ) ; |
||
プット領域から関連する文字シーケンス(ファイル)にデータを書き込みます。
基底クラスのバージョン std::basic_streambuf::overflow() と同様に動作しますが、「文字を消費する」動作は以下のように定義される点が異なります:
const std::codecvt<CharT, char, typename Traits::state_type>& a_codecvt = std::use_facet<std::codecvt<CharT, char, typename Traits::state_type>>(getloc()); typename Traits::state_type state; CharT* end; char xbuf[XSIZE]; char* xbuf_end; std::codecvt_base::result r = a_codecvt.out(state, pbase(), pptr(), end, xbuf, xbuf + XSIZE, xbuf_end);
| r | 操作 |
|---|---|
| std:: codecvt_base :: ok |
[
xbuf
,
xbuf_end
)
の文字をファイルに出力し、出力が失敗した場合は失敗します。この時点で
pbase
(
)
!
=
pptr
(
)
かつ
pbase
(
)
==
end
が両方とも
true
の場合(これは
xbuf
が1つの外部文字にも十分な大きさでないことを意味します)、
XSIZE
を増やして最初から繰り返します。
|
| std:: codecvt_base :: partial |
[
xbuf
,
xbuf_end
)
の変換済み外部文字をファイルに出力し、
[
end
,
pptr
(
)
)
に残っている未変換内部文字を使用して繰り返します。出力が失敗した場合は(繰り返さずに)失敗します。
|
| std:: codecvt_base :: noconv |
[
pbase
(
)
,
pptr
(
)
)
の文字をファイルに出力します。
|
| std:: codecvt_base :: error | 失敗します。 |
|
3)
観測可能なチェックポイント
を確立する。
|
(since C++26) |
目次 |
パラメータ
| ch | - | 格納する文字 |
戻り値
Traits :: not_eof ( ch ) 成功を示すか、 Traits :: eof ( ) 失敗を示すために使用されます。
注記
a_codecvt. always_noconv ( ) が true を返す場合、 a_codecvt. out ( ) の呼び出しは省略される可能性があります。
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
[virtual]
|
出力領域から関連付けられた出力シーケンスへ文字を書き込む
(
std::basic_streambuf<CharT,Traits>
の仮想保護メンバ関数)
|
|
[virtual]
|
関連付けられたファイルから読み込む
(仮想保護メンバ関数) |