![]() |
![]() |
Public Types | |
typedef std::bidirectional_iterator_tag | iterator_category |
typedef gunichar | value_type |
typedef std::string::difference_type | difference_type |
typedef value_type | reference |
typedef void | pointer |
Public Member Functions | |
ustring_Iterator () | |
ustring_Iterator (const ustring_Iterator<std::string::iterator>& other) | |
value_type | operator* () const |
ustring_Iterator<T>& | operator++ () |
const ustring_Iterator<T> | operator++ (int) |
ustring_Iterator<T>& | operator-- () |
const ustring_Iterator<T> | operator-- (int) |
ustring_Iterator (T pos) | |
T | base () const |
Related Functions | |
(Note that these are not member functions.) | |
bool | operator== (const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs) |
bool | operator!= (const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs) |
bool | operator< (const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs) |
bool | operator> (const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs) |
bool | operator<= (const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs) |
bool | operator>= (const ustring_Iterator<T>& lhs, const ustring_Iterator<T>& rhs) |
Note this is not a random access iterator but a bidirectional one, since all index operations need to iterate over the UTF-8 data. Use std::advance() to move to a certain position. However, all of the relational operators are available: == != < > <= >=
A writeable iterator isn't provided because: The number of bytes of the old UTF-8 character and the new one to write could be different. Therefore, any write operation would invalidate all other iterators pointing into the same string.
typedef std::bidirectional_iterator_tag Glib::ustring_Iterator<T>::iterator_category |
typedef gunichar Glib::ustring_Iterator<T>::value_type |
typedef std::string::difference_type Glib::ustring_Iterator<T>::difference_type |
typedef value_type Glib::ustring_Iterator<T>::reference |
typedef void Glib::ustring_Iterator<T>::pointer |
Glib::ustring_Iterator<T>::ustring_Iterator | ( | ) | [inline] |
Glib::ustring_Iterator<T>::ustring_Iterator | ( | const ustring_Iterator<std::string::iterator>& | other | ) | [inline] |
Glib::ustring_Iterator<T>::ustring_Iterator | ( | T | pos | ) | [inline, explicit] |
value_type Glib::ustring_Iterator<T>::operator* | ( | ) | const [inline] |
ustring_Iterator<T>& Glib::ustring_Iterator<T>::operator++ | ( | ) | [inline] |
const ustring_Iterator<T> Glib::ustring_Iterator<T>::operator++ | ( | int | ) | [inline] |
ustring_Iterator<T>& Glib::ustring_Iterator<T>::operator-- | ( | ) | [inline] |
const ustring_Iterator<T> Glib::ustring_Iterator<T>::operator-- | ( | int | ) | [inline] |
T Glib::ustring_Iterator<T>::base | ( | ) | const [inline] |
bool operator== | ( | const ustring_Iterator<T>& | lhs, | |
const ustring_Iterator<T>& | rhs | |||
) | [related] |
bool operator!= | ( | const ustring_Iterator<T>& | lhs, | |
const ustring_Iterator<T>& | rhs | |||
) | [related] |
bool operator< | ( | const ustring_Iterator<T>& | lhs, | |
const ustring_Iterator<T>& | rhs | |||
) | [related] |
bool operator> | ( | const ustring_Iterator<T>& | lhs, | |
const ustring_Iterator<T>& | rhs | |||
) | [related] |
bool operator<= | ( | const ustring_Iterator<T>& | lhs, | |
const ustring_Iterator<T>& | rhs | |||
) | [related] |
bool operator>= | ( | const ustring_Iterator<T>& | lhs, | |
const ustring_Iterator<T>& | rhs | |||
) | [related] |