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. statenow 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.
    http://en.cppreference.com/w/cpp/locale/codecvt/unshift