21 #ifndef ELM_STRING_UTF8
22 #define ELM_STRING_UTF8
24 #include <elm/types.h>
25 #include <elm/PreIterator.h>
26 #include <elm/string.h>
27 #include <elm/util/MessageException.h>
29 namespace elm {
namespace utf8 {
42 : p(
str), q(p +
size), c(0) { parse(); }
44 : p(
str.chars()), q(p +
str.length()), c(0) { parse(); }
46 : p(
str.toCString().chars()), q(p +
str.length()), c(0) { parse(); }
48 inline bool ended(
void)
const {
return !c; }
50 inline void next(
void) {
return parse(); }
Definition: MessageException.h:30
Exception(string m)
Definition: utf8.h:35
void next(void)
Definition: utf8.h:50
Iter(string str)
Definition: utf8.h:45
Iter(cstring str)
Definition: utf8.h:43
const char_t & item(void) const
Definition: utf8.h:49
Iter(const char *str, elm::t::size size)
Definition: utf8.h:41
bool ended(void) const
Definition: utf8.h:48
unsigned int uint32
Definition: arch.h:31
uint64 size
Definition: arch.h:35
t::uint32 char_t
Definition: utf8.h:31
string str(const char *s)
Definition: String.h:150