SGI

char_traits

类别:实用工具 组件类型:类型

描述

char_traits类是库使用的默认字符特征类;它是唯一预定义的字符特征类。

示例

char_traits类本身没有用。它用作其他类的模板参数,例如basic_string模板。

定义

在标准头文件string中定义。

模板参数

参数 描述 默认值
charT char_traits的值类型,char_traits<>::char_type.  

模型

字符特征

类型要求

charTcharwchar_t.

(所有char_traits的成员函数都针对任意类型定义,但如果char_traits的一些成员必须显式特化char_traits要对除charwchar_t.

公共基类

无。

成员

所有char_traits的成员都是静态的。永远没有理由创建类型为char_traits.
成员 定义位置 描述
char_type 字符特征 char_traits的值类型charT.
int_type 字符特征 char_traits的整型。
pos_type 字符特征 char_traits的位置类型。
off_type 字符特征 char_traits的偏移量类型
state_type 字符特征 char_traits的状态类型。
static void assign(char_type& c1, const char_type& c2) 字符特征 c2赋给c1.
static bool eq(const char_type& c1, const char_type& c2) 字符特征 字符相等。
static bool lt(const char_type& c1, const char_type& c2) 字符特征 如果true小于c1则返回c2.
static int compare(const char_type* p1, const char_type* p2, size_t n) 字符特征 三向词法比较,类似于strncmp.
长度 static size_t length(const char* p) 返回以空字符结尾的字符数组的长度。
static const char_type* find(const char_type* p, size_t n, const char_type& c) 字符特征 c中查找[p, p+n),如果未找到则返回0。
static char_type* move(char_type* s, const char_type* p, size_t n) 字符特征 将字符从[p, p+n)复制到(可能重叠的)范围[s, s+n).
static char_type* copy(char_type* s, const char_type* p, size_t n) 字符特征 将字符从[p, p+n)到(不重叠的)范围[s, s+n).
static char_type* assign(char_type* s, size_t n, char_type c) 字符特征 将值c赋给范围中的每个元素[s, s+n).
static int_type eof() 字符特征 返回用作文件结束指示符的值。
static int_type not_eof(const int_type& c) 字符特征 返回一个不等于eof()的值。除非c返回c等于eof().
static char_type to_char_type(const int_type& c) 字符特征 返回char_type对应于c的值,如果存在这样的值。
static int_type to_int_type(const char_type& c) 字符特征 返回int_type的表示形式c.
static bool eq_int_type(cosnt int_type& c1, const int_type& c1) 字符特征 测试两个int_type值是否相等。如果这些值也可以表示为char_type,则eqeq_int_type必须彼此一致。

新成员

无。所有char_traits的成员都在字符特征要求中定义。

注释

另请参阅

字符特征, string
[Silicon Surf] [STL Home]
Copyright © 1999 Silicon Graphics, Inc. 保留所有权利。 商标信息