Expression  | Return type  | Assertion/note  | Complexity  | 
pre-/post-condition  | |||
X::char_type  | C  | ||
X::int_type  | (described in [char.traits.typedefs])  | ||
X::off_type  | (described in [iostreams.limits.pos] and [iostream.forward])  | ||
X::pos_type  | (described in [iostreams.limits.pos] and [iostream.forward])  | ||
X::state_type  | (described in [char.traits.typedefs])  | ||
X::eq(c,d)  | bool  | constant  | |
X::lt(c,d)  | bool  | constant  | |
X::compare(p,q,n)  | int  | Returns: 0 if for each i in [0, n), X::eq(p[i],q[i])
is true; else, a negative value if, for some j in [0, n),
X::lt(p[j],q[j]) is true and for each i in [0, j)
X::eq(p[i],q[i]) is true; else a positive value.  | linear  | 
X::length(p)  | size_t  | linear  | |
X::find(p,n,c)  | const X::char_type*  | linear  | |
X::move(s,p,n)  | X::char_type*  | linear  | |
X::copy(s,p,n)  | X::char_type*  | linear  | |
X::assign(r,d)  | (not used)  | assigns r=d.  | constant  | 
X::assign(s,n,c)  | X::char_type*  | linear  | |
X::not_eof(e)  | int_type  | Returns: e if X::eq_int_type(e,X::eof()) is false,
otherwise a value f such that
X::eq_int_type(f,X::eof()) is false.  | constant  | 
X::to_char_type(e)  | X::char_type  | Returns: if for some c, X::eq_int_type(e,X::to_int_type(c))
is true, c; else some unspecified value.  | constant  | 
X::to_int_type(c)  | X::int_type  | constant  | |
X::eq_int_type(e,f)  | bool  | Returns: for all c and d, X::eq(c,d) is equal to
X::eq_int_type(X::to_int_type(c), X::to_int_type(d)); otherwise, yields true
if e and f are both copies of X::eof(); otherwise, yields false if
one of e and f is a copy of X::eof() and the other is not; otherwise
the value is unspecified.  | constant  | 
X::eof()  | X::int_type  | constant  |