#include <TextIterator.h>
Public Member Functions | |
bool | operator!= (const TextIterator &it) const |
Compares two iterators for equality. | |
int | operator* () const |
Swaps the iterator with another one. | |
TextIterator | operator++ (int) |
Prefix increment operator. | |
TextIterator & | operator++ () |
TextIterator & | operator= (const TextIterator &it) |
Copy constructor. | |
bool | operator== (const TextIterator &it) const |
Postfix increment operator. | |
void | swap (TextIterator &it) |
Assignment operator. | |
TextIterator (const TextIterator &it) | |
Destroys the TextIterator. | |
TextIterator (const std::string::const_iterator &end) | |
Creates an end TextIterator for the given string. | |
TextIterator (const std::string &str) | |
TextIterator (const std::string::const_iterator &begin, const std::string::const_iterator &end, const TextEncoding &encoding) | |
TextIterator (const std::string &str, const TextEncoding &encoding) | |
Creates an uninitialized TextIterator. | |
TextIterator () | |
~TextIterator () | |
Creates an end TextIterator. | |
Private Attributes | |
std::string::const_iterator | _end |
std::string::const_iterator | _it |
const TextEncoding * | _pEncoding |
Compares two iterators for inequality. |
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.
Definition at line 52 of file TextIterator.h.
Poco::TextIterator::TextIterator | ( | ) |
Definition at line 45 of file TextIterator.cpp.
Poco::TextIterator::TextIterator | ( | const std::string & | str, | |
const TextEncoding & | encoding | |||
) |
Creates an uninitialized TextIterator.
Definition at line 51 of file TextIterator.cpp.
Poco::TextIterator::TextIterator | ( | const std::string::const_iterator & | begin, | |
const std::string::const_iterator & | end, | |||
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.
Definition at line 58 of file TextIterator.cpp.
Poco::TextIterator::TextIterator | ( | const std::string & | str | ) |
Creates a TextIterator for the given range. The encoding object must not be deleted as long as the iterator is in use.
Definition at line 66 of file TextIterator.cpp.
Poco::TextIterator::TextIterator | ( | const std::string::const_iterator & | end | ) |
Creates an end TextIterator for the given string.
Definition at line 74 of file TextIterator.cpp.
Poco::TextIterator::~TextIterator | ( | ) |
Creates an end TextIterator.
Definition at line 82 of file TextIterator.cpp.
Poco::TextIterator::TextIterator | ( | const TextIterator & | it | ) |
Destroys the TextIterator.
Definition at line 87 of file TextIterator.cpp.
bool Poco::TextIterator::operator!= | ( | const TextIterator & | it | ) | const [inline] |
Compares two iterators for equality.
Definition at line 136 of file TextIterator.h.
int Poco::TextIterator::operator* | ( | ) | const |
Swaps the iterator with another one.
Definition at line 115 of file TextIterator.cpp.
TextIterator Poco::TextIterator::operator++ | ( | int | ) |
Prefix increment operator.
Definition at line 154 of file TextIterator.cpp.
TextIterator & Poco::TextIterator::operator++ | ( | ) |
Returns the Unicode value of the current character. If there is no valid character at the current position, -1 is returned.
Definition at line 138 of file TextIterator.cpp.
TextIterator & Poco::TextIterator::operator= | ( | const TextIterator & | it | ) |
Copy constructor.
Definition at line 95 of file TextIterator.cpp.
bool Poco::TextIterator::operator== | ( | const TextIterator & | it | ) | const [inline] |
Postfix increment operator.
Definition at line 130 of file TextIterator.h.
void Poco::TextIterator::swap | ( | TextIterator & | it | ) |
Assignment operator.
Definition at line 107 of file TextIterator.cpp.
std::string::const_iterator Poco::TextIterator::_end [private] |
Definition at line 123 of file TextIterator.h.
std::string::const_iterator Poco::TextIterator::_it [private] |
Definition at line 122 of file TextIterator.h.
const TextEncoding* Poco::TextIterator::_pEncoding [private] |
Compares two iterators for inequality.
Definition at line 121 of file TextIterator.h.