Метод Position::getNextRange
Метод возвращает диапазон, который расположен после текущего диапазона. Размеры текущего и следующего диапазонов зависят от выбранной единицы текста. Если выбранная единица текста отлична от Paragraph, то работа метода Position::getNextRange ограничена текущим абзацем.
Вызов
boost::optional<Range> getNextRange(TextUnit textUnit)
Параметры
textUnit:единица текста, определяющая размеры диапазонов, тип TextUnit.
Возвращает
- следующий диапазон документа, тип Range.
Пример для текстового документа
Position docBegin = document.getRange().getBegin();
Range nextSentence = docBegin.getNextRange(TextUnit::Sentence).get();
Range nextWord = docBegin.getNextRange(TextUnit::Word).get().getBegin().getNextRange(TextUnit::Word).get();
Range nextCharacter = docBegin.getNextRange(TextUnit::Character).get();
std::printf("%s", nextSentence.extractText().c_str());
// Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
std::printf("%s", nextWord.extractText().c_str()); // ipsum
std::printf("%s", nextCharacter.extractText().c_str()); // o
Пример для табличного документа
Table sheet = document.getBlocks().getTable(0).get();
Cell cell = sheet.getCell("B2");
Position cellBegin = cell.getRange().getBegin();
Range sentence = cellBegin.getNextRange(TextUnit::Sentence).get();
std::printf("%s", sentence.extractText().c_str()); // Second sentence.