Standard C++ Library Copyright 1998, Rogue Wave Software, Inc. NAME char_traits - A traits class with types and operations for the basic_string container and iostream classes. SYNOPSIS #include <string> template<class charT> struct char_traits DESCRIPTION The template structure_char_traits<charT>_defines the types and functions necessary to implement the iostreams and string_template classes. It is templatized on charT, which represents the character container type. Each specialized version of char_traits<charT>_includes the default defini- tions corresponding to the specialized character container type. Users have to provide specialization for_char_traits if they use character types other than char and wchar_t. INTERFACE template<class charT> struct char_traits { typedef charT char_type; typedef INT_T int_type; typedef POS_T pos_type; typedef OFF_T off_type; typedef STATE_T state_type; static char_type to_char_type(const int_type&); static int_type to_int_type(const char_type&); static bool eq(const char_type&,const char_type&); static bool eq_int_type(const int_type&, const int_type&); static int_type eof(); static int_type not_eof(const int_type&); static void assign(char_type&, const char_type&); static bool lt(const char_type&, const char_type&); static int compare(const char_type*, const char_type*,size_t); static size_t length(const char_type*); static const char_type* find(const char_type*,int n, const char_type&); static char_type* move(char_type*, const char_type*,size_t); static char_type* copy(char_type*,const char_type*, size_t); static char_type* assign(char_type*,size_t, const char_type&); }; TYPES char_type The type char_type represents the character container type. It must be convertible to int_type. int_type The type int_type is another character container type that can also hold an end-of-file value. It is used as the return type of some of the iostream class member functions. If char_type is either char or wchar_t, int_type is int or wint_t, respectively. off_type The type off_type represents offsets to positional infor- mation. It is used to represent: - A signed displacement, measured in characters, from a specified position within a sequence. - An absolute position within a sequence. The value off_type(-1) can be used as an error indicator. Value of type off_type can be converted to type pos_type, but no validity of the resulting pos_type value is ensured. If char_type is either char or wchar_t, off_type is streamoff or wstreamoff, respectively. pos_type The type pos_type describes an object that can store all the information necessary to restore an arbitrary sequence to a previous stream position and conversion state. The conversion pos_type(off_type(-1)) constructs the invalid pos_type value to signal error. If char_type is either char or wchar_t, pos_type is streampos or wstreampos, respectively. state_type The type state_type holds the conversion state, and is compatible with the function locale::codecvt(). If char_type is either char or wchar_t, state_type is mbstate_t. TYPES DEFAULT-VALUES SPECIALIZATION TYPE ON CHAR ON WCHAR_T char_type char wchar_t int_type int wint_t off_type streamoff wstreamoff pos_type streampos wstreampos state_type mbstate_t mbstate_t VALUE FUNCTIONS void assign(char_type& c1, const char_type& c2); Assigns one character value to another. The value of c2 is assigned to c1. char_type* assign(char_type* s, size_t n, const char_type& a); Assigns one character value to n elements of a character array. The value of a is assigned to n elements of s. char_type* copy(char_type* s1, const char_type* s2, size_t n); Copies n characters from the object pointed to by s1 into the object pointed to by s2. The ranges of (s1,s1+n) and (s2,s2+n) may not overlap. int_type eof(); Returns an int_type value that represents the end-of- file. It is returned by several functions to indicate end-of-file state, or to indicate an invalid return value. const char_type* find(const char_type* s, int n, const char_type& a); Looks for the value of a in s. Only n elements of s are examined. Returns a pointer to the matched element if one is found. Otherwise returns 0. size_t length(const char_type* s); Returns the length of a null terminated character string pointed to by s. char_type* move(char_type* s1, const char_type* s2, size_t n); Moves n characters from the object pointed to by s1 into the object pointed to by s2. The ranges of (s1,s1+n) and (s2,s2+n) may overlap. int_type not_eof(const int_type& c); Returns c if c is not equal to the end-of-file value. Otherwise returns 0. TEST FUNCTIONS int compare(const char_type* s1,const char_type* s2,size_t n); Compares n values from s1 with n values from s2. Returns 1 if s1 is greater than s2, -1 if s1 is less than s2, or 0 if they are equal. bool eq(const char_type& c1, const char_type& c2); Returns true if c1 and c2 represent the same character. bool eq_int_type(const int_type& c1, const int_type& c2); Returns true if c1 and c2 are equal. bool lt(const char_type& c1,const char_type& c2); Returns true if c1 is less than c2. CONVERSION FUNCTIONS char_type to_char_type(const int_type& c); Converts a valid character represented by a value of type int_type to the corresponding char_type value. int_type to_int_type(const char_type& c); Converts a valid character represented by a value of type char_type to the corresponding int_type value. SEE ALSO iosfwd(3C++), fpos(3C++) Working Paper for Draft Proposed International Standard for Information Systems--Programming Language C++, Section 21.1.4, 21.1.5, 27.1.2. STANDARDS CONFORMANCE ANSI X3J16/ISO WG21 Joint C++ Committee
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |