ctype<char>
수업
클래스는 형식의 다양한 속성을 특성화하는 로캘 패싯 역할을 할 수 있는 개체를 설명하는 형식char
에 대한 클래스 템플릿 ctype\<CharType>
의 명시적 특수화입니다char
.
구문
template <>
class ctype<char>
: public ctype_base
{
public:
typedef char _Elem;
typedef _Elem char_type;
bool is(
mask _Maskval,
_Elem _Ch) const;
const _Elem* is(
const _Elem* first,
const _Elem* last,
mask* dest) const;
const _Elem* scan_is(
mask _Maskval,
const _Elem* first,
const _Elem* last) const;
const _Elem* scan_not(
mask _Maskval,
const _Elem* first,
const _Elem* last) const;
_Elem tolower(
_Elem _Ch) const;
const _Elem* tolower(
_Elem* first,
const _Elem* last) const;
_Elem toupper(
_Elem _Ch) const;
const _Elem* toupper(
_Elem* first,
const _Elem* last) const;
_Elem widen(
char _Byte) const;
const _Elem* widen(
const char* first,
const char* last,
_Elem* dest) const;
const _Elem* _Widen_s(
const char* first,
const char* last,
_Elem* dest,
size_t dest_size) const;
_Elem narrow(
_Elem _Ch,
char _Dflt = '\0') const;
const _Elem* narrow(
const _Elem* first,
const _Elem* last,
char _Dflt,
char* dest) const;
const _Elem* _Narrow_s(
const _Elem* first,
const _Elem* last,
char _Dflt,
char* dest,
size_t dest_size) const;
static locale::id& id;
explicit ctype(
const mask* _Table = 0,
bool _Deletetable = false,
size_t _Refs = 0);
protected:
virtual ~ctype();
//other protected members
};
설명
명시적 특수화는 다음과 같은 여러 가지 방법으로 클래스 템플릿과 다릅니다.
클래스
ctype<char>
의 개체는 ctype 마스크 테이블의 첫 번째 요소, 형식의 UCHAR_MAX + 1개 요소의 배열에 대한 포인터를 저장합니다ctype_base::mask
. 또한 ctype<Elem> 개체가 제거될 때 배열을 삭제해야 하는지(사용operator delete[]
) 여부를 나타내는 부울 개체도 저장합니다.유일한 공용 생성자를 사용하면 개체가 제거될 때
ctype<char>
배열을 삭제해야 하는 경우 true인 부울 개체와del
참조-개수 매개 변수 refs를 지정할tab
수 있습니다.보호된 멤버 함수
table
는 저장된 ctype 마스크 테이블을 반환합니다.정적 멤버 개체
table_size
는 ctype 마스크 테이블의 최소 요소 수를 지정합니다.보호된 정적 멤버 함수
classic_table
("C" 로캘에 적합한 ctype 마스크 테이블을 반환합니다.보호된 가상 멤버 함수 do_is, do_scan_is 또는 do_scan_not이 없습니다. 해당 공용 멤버 함수는 동일한 작업을 자체적으로 수행합니다.
멤버 함수 do_narrow 및 do_widen은 변경되지 않은 요소를 복사합니다.
요구 사항
헤더:<로캘>
네임스페이스: std