From 8b73f6f02517e717842d122d82e1eb08cda95e19 Mon Sep 17 00:00:00 2001 From: Dana Jansens Date: Mon, 13 Jan 2003 01:08:54 +0000 Subject: begin conversion to ustring. add some more members. --- otk/ustring.cc | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) (limited to 'otk/ustring.cc') diff --git a/otk/ustring.cc b/otk/ustring.cc index 571f9773..be16bb17 100644 --- a/otk/ustring.cc +++ b/otk/ustring.cc @@ -41,4 +41,54 @@ ustring::ustring(const char* src) { } +static ustring::size_type find_offset(const char *str, const char *pos) +{ + ustring::size_type offset = 0; + + while (str < pos) { + str += g_utf8_skip[*str]; + offset += g_utf8_skip[*str]; + } + + return offset; +} + +ustring::size_type ustring::size() const +{ + const char *const pdata = _string.data(); + return find_offset(pdata, pdata + _string.size()); +} + +ustring::size_type ustring::length() const +{ + const char *const pdata = _string.data(); + return find_offset(pdata, pdata + _string.size()); +} + +ustring::size_type ustring::bytes() const +{ + return _string.size(); +} + +ustring::size_type ustring::capacity() const +{ + return _string.capacity(); +} + +ustring::size_type ustring::max_size() const +{ + return _string.max_size(); +} + + +const char* ustring::data() const +{ + return _string.data(); +} + +const char* ustring::c_str() const +{ + return _string.c_str(); +} + } -- cgit v1.2.3