protected:
virtual int_type overflow( int_type ch = Traits::eof() );
Writes some data from the put area to the associated character sequence (to the file).
Behaves like the base class version std::basic_streambuf::overflow(), except that the behavior of âconsuming charactersâ is defined as follows:
1)First, uses
std::codecvt::outof the imbued locale to convert the characters into external (possibly multibyte) representation, stored in a temporary buffer, as follows: (
XSIZEis some unspecified buffer size)
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);2)
Then writes all fully-converted characters from the buffer into the file. Formally, performs the following steps based on the value of
r:
r Operation std::codecvt_base::ok Output characters in[
xbuf,
xbuf_end)
to the file, and fail if output fails. At this point if pbase() != pptr() and pbase() == end are both true (which means xbuf is not large enough for even one external character), then increase XSIZE and repeat from the beginning. std::codecvt_base::partial Output the converted external characters in [
xbuf,
xbuf_end)
to the file, and repeat using the remaining unconverted internal characters in [
end,
pptr())
. If output fails, fail (without repeating). std::codecvt_base::noconv Output characters in [
pbase(),
pptr())
to the file. std::codecvt_base::error Fail.
If the associated file is not open (
is_open()returns
false), output will always fail.
[edit] Parameters ch - the character to store in the put area [edit] Return valueTraits::not_eof(ch) to indicate success or Traits::eof() to indicate failure.
[edit] NotesIf a_codecvt.always_noconv() returns true, the call to a_codecvt.out() may be skipped.
[edit] Example [edit] See also writes characters to the associated output sequence from the put areastd::basic_streambuf<CharT,Traits>
) [edit] reads from the associated file
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4