X::char_type* |
有效表达式 |
先决条件 |
语义 |
后置条件 |
类型要求 |
返回类型
|
|
执行赋值c1 = c2
|
void是真.
|
的可修改左值。 |
void
|
|
返回真当且仅当c1且c2相等。 |
|
X::eq(c1, c2) |
bool
|
|
返回真当且仅当c1小于c2。注意,对于任何两个值值c1且c2,恰好有一个bool, X::lt(c2, c1),且void应该真.
|
|
字符比较 |
X::lt(c1, c2)
|
[p1, p1+n)且[p2, p2+n)是有效范围。 |
概化为strncmp。如果0中的每个元素[p1, p1+n)等于[p2, p2+n)中的相应元素,则返回;如果[p1, p1+n)中存在一个元素[p2, p2+n)小于[p1, p1+n)中的相应元素,并且所有前面的元素相等,则返回负值;如果[p2, p2+n)中存在一个元素 |
|
范围比较 |
X::compare(p1, p2, n)
|
|
概化为大于中的相应元素,并且所有前面的元素相等,则返回正值。nstrlen。返回最小的非负数使nX::eq(p+n, X::char_type()) |
|
长度 |
X::length(p)
|
为真。如果不存在这样的,则行为未定义。 |
概化为[p, p+n)是一个有效范围。strchr。返回第一个指针为真。如果不存在这样的strlenq在中使.)
|
|
查找 |
X::find(p, n, c)
|
为真。如果不存在这样的且X::eq(*q, c)为真。如果没有这样的指针,则返回一个空指针。(请注意,这种指示搜索失败的方法与 |
概化为find[s, s+n)为真。如果不存在这样的不同,后者是有效的范围(可能重叠)。X::eq(*q, c)memmoveconst X::char_type*.
|
|
移动 |
X::move(s, p, n)
|
为真。如果不存在这样的且X::eq(*q, c)。复制范围 |
概化为中的值到范围[s, s+n)为真。如果不存在这样的不同,后者是有效的范围(可能重叠)。X::eq(*q, c)memmoveconst X::char_type*.
|
|
复制 |
X::copy(s, p, n)
|
X::eq(*q, c),则行为未定义。 |
概化为,并返回是有效的、不重叠的范围。cmemcpyX::eq(*q, c)memmoveconst X::char_type*.
|
|
范围分配 |
X::assign(s, n, c)
|
|
memset |
X::assign(s, n, c)。将值X::char_type分配给范围cstrlen中的每个指针是真.
|
EOF 值 |
X::eof()
|
|
返回e返回一个可表示 EOF 的值。e与类型char_type的每个有效值都不同。也就是说,不存在这样的值e是X::assign(s, n, c).
|
|
非 EOF |
X::not_eof(e)
|
|
X::eq_int_type(X::to_int_type(c), X::eof())e如果X表示一个有效e值,并表示为非 EOF 值如果char_type转换为e是X::assign(s, n, c)到 |
|
转换为值类型 |
X::to_char_type(e)
|
|
X::eq_int_type(X::to_int_type(c), X::eof())c如果X'的 int 类型。如果 |
表示某个值,则它返回该值;如果 |
相等的 int 类型值 |
X::eq_int_type(e1, e2)
|
|
,则返回的值未指定。X::char_typestrlene1是'的 int 类型。且e2是X::to_char_type(X::to_int_type(c))是一个空操作。X::eq_int_type(e1, e2)比较两个 int 类型值。如果存在类型voidX::to_int_type(c1))X::to_int_type(c2))的值,则真返回一个可表示 EOF 的值。e1且e2相同。否则,eq_int_typee1且e2返回 |
|