Type Alias FosterByteString

Source
pub type FosterByteString = Foster<Box<ByteString>, &'static str>;
Available on crate feature byte_string only.
Expand description

Foster for ByteString.

Supports IntoOwned, HasLength, AsRef<str>, Eq/PartialEq, Ord/PartialOrd, Hash, and Display.

Note that we need to wrap ByteString in a Box because ByteString has interior mutability and thus cannot be part of a constant value’s type.

Aliased Type§

pub enum FosterByteString {
    Owned(Box<ByteString>),
    Fostered(&'static str),
}

Variants§

§

Owned(Box<ByteString>)

Owned.

§

Fostered(&'static str)

Fostered.

Trait Implementations§

Source§

impl AsRef<str> for FosterByteString

Source§

fn as_ref(&self) -> &str

Converts this type into a shared reference of the (usually inferred) input type.
Source§

impl Display for FosterByteString

Source§

fn fmt(&self, formatter: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl From<&str> for FosterByteString

Source§

fn from(string: &str) -> Self

Converts to this type from the input type.
Source§

impl HasLength for FosterByteString

Source§

fn len(&self) -> usize

Length.
Source§

impl Hash for FosterByteString

Source§

fn hash<HasherT>(&self, state: &mut HasherT)
where HasherT: Hasher,

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl IntoOwned for FosterByteString

Source§

fn into_owned(self) -> Self

Into owned.

Source§

impl Ord for FosterByteString

Source§

fn cmp(&self, other: &Self) -> Ordering

This method returns an Ordering between self and other. Read more
1.21.0 · Source§

fn max(self, other: Self) -> Self
where Self: Sized,

Compares and returns the maximum of two values. Read more
1.21.0 · Source§

fn min(self, other: Self) -> Self
where Self: Sized,

Compares and returns the minimum of two values. Read more
1.50.0 · Source§

fn clamp(self, min: Self, max: Self) -> Self
where Self: Sized,

Restrict a value to a certain interval. Read more
Source§

impl PartialEq for FosterByteString

Source§

fn eq(&self, other: &Self) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialOrd for FosterByteString

Source§

fn partial_cmp(&self, other: &Self) -> Option<Ordering>

This method returns an ordering between self and other values if one exists. Read more
1.0.0 · Source§

fn lt(&self, other: &Rhs) -> bool

Tests less than (for self and other) and is used by the < operator. Read more
1.0.0 · Source§

fn le(&self, other: &Rhs) -> bool

Tests less than or equal to (for self and other) and is used by the <= operator. Read more
1.0.0 · Source§

fn gt(&self, other: &Rhs) -> bool

Tests greater than (for self and other) and is used by the > operator. Read more
1.0.0 · Source§

fn ge(&self, other: &Rhs) -> bool

Tests greater than or equal to (for self and other) and is used by the >= operator. Read more
Source§

impl Eq for FosterByteString