Книга: Standard Template Library Programmer
char_traits
Разделы на этой странице:
char_traits
Category: utilities
Component type: type
Description
The char_traits class is the default Character Traits class used by the library; it is the only predefined Character Traits class.
Example
The char_traits class is of no use by itself. It is used as a template parameter of other classes, such as the basic_string template.
Definition
Defined in the standard header string.
Template parameters
Parameter | Description |
---|---|
charT | char_traits 's value type, i.e.char_traits<>::char_type. |
Model of
Character Traits
Type requirements
charT is either char or wchar_t.
(All of char_traits 's member functions are defined for arbitrary types, but some of char_traits 's members must be explicitly specialized if char_traits is to be useful for other types than char and wchar_t.)
Public base classes
None.
Members
All of char_traits 's members are static. There is never any reason to create an object of type char_traits.
Member | Where defined | Description |
---|---|---|
char_type |
Character Traits | char_traits's value type: charT. |
int_type |
Character Traits | char_traits's int type. |
pos_type |
Character Traits | char_traits's position type. |
off_type |
Character Traits | char_traits's offset type |
state_type |
Character Traits | char_traits's state type. |
static void assign(char_type& c1, const char_type& c2) |
Character Traits | Assigns c2 to c1. |
static bool eq(const char_type& c1, const char_type& c2) |
Character Traits | Character equality. |
static bool lt(const char_type& c1, const char_type& c2) |
Character Traits | Returns true if c1 is less than c2. |
static int compare(const char_type* p1, const char_type* p2, size_t n) |
Character Traits | Three-way lexicographical comparison, much like strncmp. |
static size_t length(const char* p) |
Character Traits | Returns length of a null-terminated array of characters. |
static const char_type* find(const char_type* p, size_t n, const char_type& c) |
Character Traits | Finds c in [p, p+n) , returning 0 if not found. |
static char_type* move(char_type* s, const char_type* p, size_t n) |
Character Traits | Copies characters from [p, p+n) to the (possibly overlapping) range [s, s+n). |
static char_type* copy(char_type* s, const char_type* p, size_t n) |
Character Traits | Copies characters from [p, p+n) to the (non-overlapping) range [s, s+n). |
static char_type* assign(char_type* s, size_t n, char_type c) |
Character Traits | Assigns the value c to every element in the range [s, s+n). |
static int_type eof() |
Character Traits | Returns the value used as an EOF indicator. |
static int_type not_eof(const int_type& c) |
Character Traits | Returns a value that is not equal to eof() . Returns c unless c is equal to eof(). |
static char_type to_char_type(const int_type& c) |
Character Traits | Returns the char_type value corresponding to c, if such a value exists. |
static int_type to_int_type(const char_type& c) |
Character Traits | Returns a int_type representation of c. |
static bool eq_int_type(cosnt int_type& c1, const int_type& c1) |
Character Traits | Tests whether two int_type values are equal. If the values can also be represented as char_type, then eq and eq_int_type must be consistent with each other. |
New members
None. All of char_traits's members are defined in the Character Traits requirements.
See also
Character Traits, string
- Character Traits
- IP characteristics
- TCP characteristics
- UDP characteristics
- ICMP characteristics
- SCTP Characteristics
- Special Characters
- Using the Backslash As an Escape Character
- Преобразование типов даты в CHAR(n) и VARCHAR(n)
- National Character Sets
- 1.2.2 Characteristics of Real-Time Systems
- 4.7 Key Characteristics of an RTOS