/** * A destruction policy for using CodePointRangeIterator with std::unique_ptr.
*/ struct CodePointRangeIteratorDeleter { voidoperator()(capi::CodePointRangeIterator* l) const noexcept {
capi::CodePointRangeIterator_destroy(l);
}
};
/** * An iterator over code point ranges, produced by `ICU4XCodePointSetData` or * one of the `ICU4XCodePointMapData` types
*/ class CodePointRangeIterator { public:
/** * Advance the iterator by one and return the next range. * * If the iterator is out of items, `done` will be true
*/
CodePointRangeIteratorResult next(); inlineconst capi::CodePointRangeIterator* AsFFI() const { return this->inner.get(); } inline capi::CodePointRangeIterator* AsFFIMut() { return this->inner.get(); } inlineexplicit CodePointRangeIterator(capi::CodePointRangeIterator* i) : inner(i) {}
CodePointRangeIterator() = default;
CodePointRangeIterator(CodePointRangeIterator&&) noexcept = default;
CodePointRangeIterator& operator=(CodePointRangeIterator&& other) noexcept = default; private:
std::unique_ptr<capi::CodePointRangeIterator, CodePointRangeIteratorDeleter> inner;
};
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.