diff options
| author | Dana Jansens <danakj@orodu.net> | 2003-01-13 01:08:54 +0000 |
|---|---|---|
| committer | Dana Jansens <danakj@orodu.net> | 2003-01-13 01:08:54 +0000 |
| commit | 8b73f6f02517e717842d122d82e1eb08cda95e19 (patch) | |
| tree | 33fd49f2649b3d6e530d7c904913d75f58f436d4 /otk/ustring.cc | |
| parent | ecfac5f20c72647b4865a14ccffc307c2b116319 (diff) | |
begin conversion to ustring. add some more members.
Diffstat (limited to 'otk/ustring.cc')
| -rw-r--r-- | otk/ustring.cc | 50 |
1 files changed, 50 insertions, 0 deletions
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(); +} + } |
