ICU ブレーク イテレータを使用してクロッパーを作成しました。例では、次のコードを使用してすべての境界を反復処理することを提案しています。
void listWordBoundaries(const UnicodeString& s) {
UErrorCode status = U_ZERO_ERROR;
BreakIterator* bi = BreakIterator::createWordInstance(Locale::getUS(), status);
bi->setText(s);
int32_t p = bi->first();
while (p != BreakIterator::DONE) {
printf("Boundary at position %d\n", p);
p = bi->next();
}
delete bi;
}
これは、 がnext()
実際に反復子を変更していることを示しているようです。ただし、ドキュメントは、値を返すことだけが効果があることを示しているようです。これは悪いドキュメントの単なる例ですか? 特にが本当に変異している場合、 も変異next()
しているかどうかを知りたいです。last()