codecvt::do_unshift
A virtual function called to provide the Bytes needed in a state-dependent conversion to complete the last character in a sequence of Bytes.
virtual result do_unshift(
StateType& _State,
Byte* _First2,
Byte* _Last2,
Byte*& _Next2
) const;
Parameters
_State
The conversion state that is maintained between calls to the member function._First2
Pointer to the first position in the destination range._Last2
Pointer to the last position in the destination range._Next2
Pointer to the first unaltered element in the destination sequence.
Return Value
The function returns:
codecvt_base::error if _State represents an invalid state
codecvt_base::noconv if the function performs no conversion
codecvt_base::ok if the conversion succeeds
codecvt_base::partial if the destination is not large enough for the conversion to succeed
Remarks
The protected virtual member function tries to convert the source element CharType(0) to a destination sequence that it stores within [_First2, _Last2), except for the terminating element Byte(0). It always stores in _Next2 a pointer to the first unaltered element in the destination sequence.
_State must represent the initial conversion state at the beginning of a new source sequence. The function alters its stored value as needed to reflect the current state of a successful conversion. Typically, converting the source element CharType(0) leaves the current state in the initial conversion state.
Example
See the example for unshift, which calls do_unshift.
Requirements
Header: <locale>
Namespace: std