#[non_exhaustive]pub struct StrBytes { /* private fields */ }
Expand description
UTF-8 string byte buffer representation with validation amortization.
When StrBytes
is constructed from a &str
or String
, its underlying bytes are assumed
to be valid UTF-8. Otherwise, if constructed from a byte source, the construction will
be fallible.
Example construction from a &str
:
use aws_smithy_types::str_bytes::StrBytes;
let value: StrBytes = "example".into();
assert_eq!("example", value.as_str());
assert_eq!(b"example", &value.as_bytes()[..]);
Example construction from Bytes
:
use bytes::Bytes;
use aws_smithy_types::str_bytes::StrBytes;
let bytes = Bytes::from_static(b"example");
let value: StrBytes = bytes.try_into().expect("valid utf-8");
assert_eq!("example", value.as_str());
assert_eq!(b"example", &value.as_bytes()[..]);
Implementations§
Trait Implementations§
impl Eq for StrBytes
impl StructuralPartialEq for StrBytes
Auto Trait Implementations§
impl !Freeze for StrBytes
impl RefUnwindSafe for StrBytes
impl Send for StrBytes
impl Sync for StrBytes
impl Unpin for StrBytes
impl UnwindSafe for StrBytes
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more