class Poco::TextIterator
Overview
An unidirectional iterator for iterating over characters in a string. Moreā¦
#include <TextIterator.h> class TextIterator { public: // construction TextIterator(); TextIterator( const std::string& str, const TextEncoding& encoding ); TextIterator( const std::string::const_iterator& begin, const std::string::const_iterator& end, const TextEncoding& encoding ); TextIterator(const std::string& str); TextIterator(const std::string::const_iterator& end); TextIterator(const TextIterator& it); // methods TextIterator& operator=(const TextIterator& it); void swap(TextIterator& it); int operator*() const; TextIterator& operator++(); TextIterator operator++(int); bool operator==(const TextIterator& it) const; bool operator!=(const TextIterator& it) const; TextIterator end() const; };
Detailed Documentation
An unidirectional iterator for iterating over characters in a string.
The TextIterator uses a TextEncoding object to work with multi-byte character encodings like UTF-8. Characters are reported in Unicode.
Example: Count the number of UTF-8 characters in a string.
UTF8Encoding utf8Encoding; std::string utf8String("...."); TextIterator it(utf8String, utf8Encoding); TextIterator end(utf8String); int n = 0; while (it != end) { ++n; ++it; }
NOTE: When an UTF-16 encoding is used, surrogate pairs will be reported as two separate characters, due to restrictions of the TextEncoding class.
For iterating over char buffers, see the TextBufferIterator class.
Construction
TextIterator()
Creates an uninitialized TextIterator.
TextIterator( const std::string& str, const TextEncoding& encoding )
Creates a TextIterator for the given string.
The encoding object must not be deleted as long as the iterator is in use.
TextIterator( const std::string::const_iterator& begin, const std::string::const_iterator& end, const TextEncoding& encoding )
Creates a TextIterator for the given range.
The encoding object must not be deleted as long as the iterator is in use.
TextIterator(const std::string& str)
Creates an end TextIterator for the given string.
TextIterator(const std::string::const_iterator& end)
Creates an end TextIterator.
TextIterator(const TextIterator& it)
Copy constructor.
Methods
TextIterator& operator=(const TextIterator& it)
Assignment operator.
void swap(TextIterator& it)
Swaps the iterator with another one.
int operator*() const
Returns the Unicode value of the current character.
If there is no valid character at the current position, -1 is returned.
TextIterator& operator++()
Prefix increment operator.
TextIterator operator++(int)
Postfix increment operator.
bool operator==(const TextIterator& it) const
Compares two iterators for equality.
bool operator!=(const TextIterator& it) const
Compares two iterators for inequality.
TextIterator end() const
Returns the end iterator for the range handled by the iterator.