22 #ifndef INCLUDED_UTF16STRING 23 #define INCLUDED_UTF16STRING 46 static void assign(char_type& c1,
const char_type& c2)
49 static bool eq(
const char_type& c1,
const char_type& c2)
52 static bool lt(
const char_type& c1,
const char_type& c2)
55 static int compare(
const char_type* s1,
const char_type* s2,
size_t n)
57 return memcmp(s1, s2, n*
sizeof(char_type));
60 static size_t length(
const char_type* s)
62 const char_type* end=s;
64 return (
size_t)(end-s);
67 static const char_type*
find(
const char_type* s,
size_t n,
const char_type& a)
69 const char_type *end = s+n;
70 const char_type *res = std::find(s, end, a);
71 return (res != end)?res:NULL;
74 static char_type*
move(char_type* s1,
const char_type* s2,
size_t n)
76 return (char_type *)memmove(s1, s2, n*
sizeof(char_type));
79 static char_type*
copy(char_type* s1,
const char_type* s2,
size_t n)
81 return (char_type *)memcpy(s1, s2, n*
sizeof(char_type));
84 static char_type*
assign(char_type* s,
size_t n, char_type a)
94 {
return (char_type)c; }
97 {
return (int_type)c; }
99 static bool eq_int_type(
const int_type& c1,
const int_type& c2)
106 {
return (c == -1) ? 0 : c; }
static int_type eof()
Definition: utf16string.h:102
uint16_t utf16_t
Definition: utf16string.h:32
static bool eq(const char_type &c1, const char_type &c2)
Definition: utf16string.h:49
int int_type
Definition: utf16string.h:41
static bool lt(const char_type &c1, const char_type &c2)
Definition: utf16string.h:52
static int compare(const char_type *s1, const char_type *s2, size_t n)
Definition: utf16string.h:55
static char_type * copy(char_type *s1, const char_type *s2, size_t n)
Definition: utf16string.h:79
std::streamoff off_type
Definition: utf16string.h:43
Definition: utf16string.h:38
static const char_type * find(const char_type *s, size_t n, const char_type &a)
Definition: utf16string.h:67
static bool eq_int_type(const int_type &c1, const int_type &c2)
Definition: utf16string.h:99
static int_type not_eof(const int_type &c)
Definition: utf16string.h:105
static char_type * move(char_type *s1, const char_type *s2, size_t n)
Definition: utf16string.h:74
static size_t length(const char_type *s)
Definition: utf16string.h:60
utf16_t char_type
Definition: utf16string.h:40
std::mbstate_t state_type
Definition: utf16string.h:44
std::basic_stringstream< utf16_t, utf16_traits > utf16stringstream
Definition: utf16string.h:110
static char_type * assign(char_type *s, size_t n, char_type a)
Definition: utf16string.h:84
std::basic_string< utf16_t, utf16_traits > utf16string
Definition: utf16string.h:109
static void assign(char_type &c1, const char_type &c2)
Definition: utf16string.h:46
static int_type to_int_type(const char_type &c)
Definition: utf16string.h:96
unsigned short uint16_t
Definition: wposix_types.h:52
std::streampos pos_type
Definition: utf16string.h:42
static char_type to_char_type(const int_type &c)
Definition: utf16string.h:93