Added CharIndices::offset function

This commit is contained in:
John Hörnvall 2021-02-27 12:45:18 +01:00
parent 8e863eb59a
commit 5b9905b0f3
2 changed files with 24 additions and 0 deletions

View File

@ -137,6 +137,7 @@
#![feature(stmt_expr_attributes)]
#![feature(str_split_as_str)]
#![feature(str_split_inclusive_as_str)]
#![feature(char_indices_offset)]
#![feature(trait_alias)]
#![feature(transparent_unions)]
#![feature(try_blocks)]

View File

@ -189,6 +189,29 @@ impl<'a> CharIndices<'a> {
pub fn as_str(&self) -> &'a str {
self.iter.as_str()
}
/// Returns the byte position of the next character, or the length
/// of the underlying string if there are no more characters.
///
/// # Examples
///
/// ```
/// let mut chars = "a楽".char_indices();
///
/// assert_eq!(chars.offset(), 0);
/// assert_eq!(chars.next(), Some((0, 'a')));
///
/// assert_eq!(chars.offset(), 1);
/// assert_eq!(chars.next(), Some((1, '楽')));
///
/// assert_eq!(chars.offset(), 4);
/// assert_eq!(chars.next(), None);
/// ```
#[inline]
#[unstable(feature = "char_indices_offset", issue = "none")]
pub fn offset(&self) -> usize {
self.front_offset
}
}
/// An iterator over the bytes of a string slice.