std::codecvt<InternT,ExternT,State>::unshift,do_unshift (3) - Linux Manuals

std::codecvt<InternT,ExternT,State>::unshift,do_unshift: std::codecvt<InternT,ExternT,State>::unshift,do_unshift

NAME

std::codecvt<InternT,ExternT,State>::unshift,do_unshift - std::codecvt<InternT,ExternT,State>::unshift,do_unshift

Synopsis


Defined in header <locale>
public:
result unshift( StateT& state,
ExternT* to, (1)
ExternT* to_end,
ExternT*& to_next) const;
protected:
virtual result do_unshift( StateT& state,
ExternT* to, (2)
ExternT* to_end,
ExternT*& to_next) const;


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


 This section is incomplete
 Reason: no example

See also


          converts a wide character to its multibyte representation, given state
wcrtomb (function)


do_out converts a string from internT to externT, such as when writing to file
          (virtual protected member function)
[virtual]