usesuper::Utf16CharsWithTrie; use core::iter::FusedIterator;
use icu_collections::codepointtrie::AbstractCodePointTrie; use icu_collections::codepointtrie::TrieValue; use icu_collections::codepointtrie::WithTrie;
/// An iterator over the [`char`]s and their positions. #[derive(Debug)] #[must_use = "iterators are lazy and do nothing unless consumed"] pubstruct Utf16CharIndicesWithTrie<'slice, 'trie, T, V> where
V: TrieValue,
T: AbstractCodePointTrie<'trie, V>,
{
front_offset: usize,
iter: Utf16CharsWithTrie<'slice, 'trie, T, V>,
}
/// Views the underlying data as a subslice of the original data. /// /// This has the same lifetime as the original slice, and so the /// iterator can continue to be used while this exists. #[must_use] #[inline] pubfn as_slice(&self) -> &'slice [u16] { self.iter.as_slice()
}
/// Returns the code unit position of the next character, or the length /// of the underlying string if there are no more characters. /// /// # Examples /// /// ``` /// use utf16_iter::Utf16CharsEx; /// let mut chars = [0xD83Eu16, 0xDD73u16, 0x697Du16].char_indices(); /// /// assert_eq!(chars.offset(), 0); /// assert_eq!(chars.next(), Some((0, ''))); /// /// assert_eq!(chars.offset(), 2); /// assert_eq!(chars.next(), Some((2, '楽'))); /// /// assert_eq!(chars.offset(), 3); /// assert_eq!(chars.next(), None); /// ``` #[inline] #[must_use] pubfn offset(&self) -> usize { self.front_offset
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-08-27)
¤
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.