Struct bstr::WordsWithBreaks[][src]

pub struct WordsWithBreaks<'a> { /* fields omitted */ }

An iterator over all word breaks in a byte string.

This iterator is typically constructed by ByteSlice::words_with_breaks.

This iterator yields not only all words, but the content that comes between words. In particular, if all elements yielded by this iterator are concatenated, then the result is the original string (subject to Unicode replacement codepoint substitutions).

Since words are made up of one or more codepoints, this iterator yields &str elements. When invalid UTF-8 is encountered, replacement codepoints are substituted.

This iterator yields words in accordance with the default word boundary rules specified in UAX #29. In particular, this may not be suitable for Japanese and Chinese scripts that do not use spaces between words.

Implementations

impl<'a> WordsWithBreaks<'a>[src]

pub fn as_bytes(&self) -> &'a [u8]

Notable traits for &'_ [u8]

impl<'_> Read for &'_ [u8]impl<'_> Write for &'_ mut [u8]
[src]

View the underlying data as a subslice of the original data.

The slice returned has the same lifetime as the original slice, and so the iterator can continue to be used while this exists.

Examples

use bstr::ByteSlice;

let mut it = b"foo bar baz".words_with_breaks();

assert_eq!(b"foo bar baz", it.as_bytes());
it.next();
assert_eq!(b" bar baz", it.as_bytes());
it.next();
it.next();
assert_eq!(b" baz", it.as_bytes());
it.next();
it.next();
assert_eq!(b"", it.as_bytes());

Trait Implementations

impl<'a> Clone for WordsWithBreaks<'a>[src]

impl<'a> Debug for WordsWithBreaks<'a>[src]

impl<'a> Iterator for WordsWithBreaks<'a>[src]

type Item = &'a str

The type of the elements being iterated over.

Auto Trait Implementations

impl<'a> RefUnwindSafe for WordsWithBreaks<'a>

impl<'a> Send for WordsWithBreaks<'a>

impl<'a> Sync for WordsWithBreaks<'a>

impl<'a> Unpin for WordsWithBreaks<'a>

impl<'a> UnwindSafe for WordsWithBreaks<'a>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<I> IntoIterator for I where
    I: Iterator
[src]

type Item = <I as Iterator>::Item

The type of the elements being iterated over.

type IntoIter = I

Which kind of iterator are we turning this into?

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.