다음을 통해 공유


codecvt Class

로케일 패싯으로 사용할 수 있는 개체에 설명 하는 템플릿 클래스.프로그램 내에서 문자를 인코딩하는 데 사용 되는 값의 시퀀스와 프로그램 이외의 문자를 인코딩하는 데 사용 되는 값의 시퀀스 제어 변환 수입니다.

template<class CharType, class Byte, class StateType>
    class codecvt
        : public locale::facet, codecvt_base {
public:
    typedef CharType intern_type;
    typedef Byte extern_type;
    typedef StateType state_type;

    explicit codecvt (size_t _Refs = 0);

    result in (
        StateType& _State,
        const Byte *_First1, 
        const Byte *_Last1,
        const Byte *_Next1,
        CharType *_First2, 
        CharType *_Last2, 
        CharType *_Next2
    );
    result out (
        StateType& _State,
        const Elem *_First1, 
        const Elem *_Last1,
        const Elem *_Next1,
        Byte *_First2, 
        Byte *_Last2, 
        Byte *_Next2
    );
    result unshift (
        StateType& _State,
        Byte *_First2, 
        Byte *_Last2, 
        Byte *_Next2
    );

    bool always_noconv () const throw();
    int max_length () const throw();
    int length (
        const StateType& _State,
        const Byte *_First1, 
        const Byte *_Last1,
        size_t _N2
    ) const throw();
    int encoding () const throw();

    static locale::id id;

protected:
    ~codecvt();

    virtual result do_in (
        StateType& _State,
        const Byte *_First1, 
        const Byte *_Last1,
        const Byte *_Next1,
        CharType *_First2, 
        CharType *_Last2, 
        CharType *_Next2
    );
    virtual result do_out (
        StateType& _State,
        const CharType *_First1, 
        const CharType *_Last1,
        const CharType *_Next1,
        Byte *_First2, 
        Byte *_Last2, 
        Byte *_Next2
    );
    virtual result do_unshift (
        StateType& _State,
        Byte *_First2, 
        Byte *_Last2, 
        Byte *_Next2
    );

    virtual bool do_always_noconv () const throw();
    virtual int do_max_length () const throw();
    virtual int do_encoding () const throw();
    virtual int do_length (
        const StateType& _State,
        const Byte *_First1, 
        const Byte *_Last1,
        size_t _Len2
    ) const throw();
};

매개 변수

  • CharType
    프로그램 내에서 문자를 인코딩하는 데 사용 되는 형식입니다.

  • Byte
    프로그램 외부의 문자를 인코딩하는 데 사용 되는 형식입니다.

  • StateType
    내부 및 외부 문자 표현 형식 사이의 변환의 중간 상태를 나타내는 데 사용할 수 있는 형식입니다.

설명

템플릿 클래스를 사용할 수 있는 개체 설명에 로케일 면, 시퀀스의 값 형식 사이의 변환을 제어할 수 CharType 및 형식의 값 시퀀스를 Byte.클래스 StateType -변환 및 개체의 클래스를 나타냅니다. StateType 필요한 상태 정보를 변환 하는 동안 저장 합니다.

내부 인코딩 표현을 문자당 바이트 수가 정해진 보통 입력 사용 char 또는 형식 wchar_t.

모든 로캘 패싯, 정적 개체와 마찬가지로 id 초기 값 0 저장 했습니다.저장 된 값에 액세스 하려면 첫 번째 시도에서 고유한 양수 저장id.

서식 파일 버전의 do_indo_out 항상 반환 codecvt_base::noconv.

표준 C++ 라이브러리는 여러 개의 명시적 특수화를 정의합니다.

template<>

codecvt<wchar_t, char, mbstate_t>

간의 변환 wchar_t 및 char 시퀀스.

template<>

codecvt<char16_t, char, mbstate_t>

간의 변환 char16_t u t F-16으로 인코딩된 시퀀스 및 char u t F-8로 인코딩된 시퀀스입니다.

template<>

codecvt<char32_t, char, mbstate_t>

간의 변환 char32_t u t F-32 (u c S-4)으로 인코딩된 시퀀스 및 char u t F-8로 인코딩된 시퀀스입니다.

0he30td8.collapse_all(ko-kr,VS.110).gif생성자

codecvt

생성자 클래스의 개체에 대 한 codecvt 로케일 패싯으로 변환을 처리 하는 역할을 합니다.

0he30td8.collapse_all(ko-kr,VS.110).gif형식 정의

extern_type

외부 표현에 사용 되는 문자 형식입니다.

intern_type

내부 표현에 사용 되는 문자 형식입니다.

state_type

내부 및 외부 표현 간에 변환 도중 중간 상태를 나타내는 데 사용 되는 문자 형식입니다.

0he30td8.collapse_all(ko-kr,VS.110).gif멤버 함수

always_noconv

변환이 수행 해야 하는지 여부를 테스트 합니다.

do_always_noconv

변환이 수행 해야 하는지 여부를 테스트 하기 위해 호출 하는 가상 함수입니다.

do_encoding

경우 테스트 하는 가상 함수 인코딩을 Byte 스트림 종속 상태 여부입니다 1.5는 Bytes 사용 및 CharTypes 생성 일정 이며, 그렇다면이 비율 값을 결정 합니다.

do_in

가상 함수 호출 내부 시퀀스로 변환할 Byte일련의 외부 s CharTypes.

do_length

결정 하는 가상 함수 개수 Byte외부의 지정 된 시퀀스에서 s Bytes 생성 수의 내부 이상 없습니다 CharTypes 해당 개수를 반환 하 고 Bytes.

do_max_length

가상 함수를 하나 생성 하는 데 필요한 내부 외부 바이트 최대 반환 CharType.

do_out

가상 함수 호출 내부 시퀀스로 변환할 CharTypes 외부 바이트 시퀀스입니다.

do_unshift

가상 함수 호출을 제공 하는 Byte상태에 따라 변환에는 시퀀스의 마지막 문자를 완료 하는데 필요한 s Bytes.

인코딩

경우 테스트 인코딩을 Byte 스트림 종속 상태 여부입니다 1.5는 Bytes 사용 및 CharTypes 생성 일정 이며, 그렇다면이 비율 값을 결정 합니다.

in

일련의 외부 표현을 변환 Byte일련의 내부 표현에 s CharTypes.

length

결정 얼마나 Byte외부의 지정 된 시퀀스에서 s Bytes 생성 수의 내부 이상 없습니다 CharTypes 해당 개수를 반환 하 고 Bytes.

max_length

외부의 최대 수를 반환 합니다. Bytes 내부에서 생성 하는 데 필요한 CharType.

out

내부 시퀀스로 변환 CharType일련의 외부 s Bytes.

unshift

외부 제공 Byte상태에 따라 변환에 마지막 문자를 순서 대로 완료 해야 하는 s Bytes.

요구 사항

헤더: <locale>

네임 스페이스: std

참고 항목

참조

표준 C++ 라이브러리에서 스레드로부터의 안전성

기타 리소스

<locale> 멤버