Struct RSplitTerminator

Source
pub struct RSplitTerminator<'a, 'b> { /* private fields */ }
Expand description

Const equivalent of core::str::RSplitTerminator<'a, &'b str>

This is constructed with rsplit_terminator like this:

konst::string::rsplit_terminator(string, delim)

§Version compatibility

This requires the "rust_1_64" feature.

Implementations§

Source§

impl<'a, 'b> RSplitTerminator<'a, 'b>

Source

pub const fn copy(&self) -> Self

Creates a clone of this iterator

Source

pub const fn next(self) -> Option<(&'a str, Self)>

Advances the iterator and returns the next value.

Source

pub const fn remainder(&self) -> &'a str

Gets the remainder of the string.

§Example
let iter = konst::string::rsplit_terminator("=foo=bar=baz", "=");
assert_eq!(iter.remainder(), "=foo=bar=baz");

let (elem, iter) = iter.next().unwrap();
assert_eq!(elem, "baz");
assert_eq!(iter.remainder(), "=foo=bar");

let (elem, iter) = iter.next().unwrap();
assert_eq!(elem, "bar");
assert_eq!(iter.remainder(), "=foo");

let (elem, iter) = iter.next().unwrap();
assert_eq!(elem, "foo");
assert_eq!(iter.remainder(), "");

Trait Implementations§

Auto Trait Implementations§

§

impl<'a, 'b> Freeze for RSplitTerminator<'a, 'b>

§

impl<'a, 'b> RefUnwindSafe for RSplitTerminator<'a, 'b>

§

impl<'a, 'b> Send for RSplitTerminator<'a, 'b>

§

impl<'a, 'b> Sync for RSplitTerminator<'a, 'b>

§

impl<'a, 'b> Unpin for RSplitTerminator<'a, 'b>

§

impl<'a, 'b> UnwindSafe for RSplitTerminator<'a, 'b>

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

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

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.

Layout§

Note: Most layout information is completely unstable and may even differ between compilations. The only exception is types with certain repr(...) attributes. Please see the Rust Reference's “Type Layout” chapter for details on type layout guarantees.

Size: 32 bytes