std::codecvt<InternT,ExternT,State>::unshift, do_unshift
Defined in header <locale> |
||
---|---|---|
public: result unshift( StateT& state, ExternT* to, ExternT* to_end, ExternT*& to_next) const; |
(1) | |
protected: virtual result do_unshift( StateT& state, ExternT* to, ExternT* to_end, ExternT*& to_next) const; |
(2) |
1) public member function, calls the member function
do_unshift
of the most derived class.
2) if the encoding represented by this
codecvt
facet is state-dependent, and
state
represents a conversion state that is not the initial shift state, writes the characters necessary to return to the initial shift state. The characters are written to a character array whose first element is pointed to by
to
. No more than
to_end-to
characters are written. The parameter
to_next
is updated to point one past the last character written.
Return value
A value of type std::codecvt_base::result
, indicating the success status as follows:
ok |
all necessary characters were written. state now represents initial shift state |
partial |
not enough space in the output buffer. to_next == to_end |
error |
unspecified error occurred |
noconv |
the encoding is not state-dependent, no termination sequence necessary |
The non-converting specialization std::codecvt<char, char, std::mbstate_t>
always returns std::codecvt_base::noconv
.
Notes
This function is called by std::basic_filebuf::close()
and in other situations when finalizing a state-dependent multibyte character sequence.
Example
See also
converts a wide character to its multibyte representation, given state (function) |
|
[virtual]
|
converts a string from internT to externT, such as when writing to file (virtual protected member function) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/locale/codecvt/unshift