std::codecvt::unshift,do_unshift(3)

NAME
std::codecvt::unshift,do_unshift - std::codecvt::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
   wcrtomb converts a wide character to its multibyte representation, given state
             (function)
   do_out converts a string from internT to externT, such as when writing to file
   [virtual] (virtual protected member function)