pub struct AsString;
Expand description
A wrapper that attempts to convert a type to and from UTF-8.
Types like OsString
and PathBuf
aren’t guaranteed to be encoded as
UTF-8, but they usually are anyway. Using this wrapper will archive them as
if they were regular String
s.
§Example
use std::{ffi::OsString, path::PathBuf};
use rkyv::{with::AsString, Archive};
#[derive(Archive)]
struct Example {
#[rkyv(with = AsString)]
os_string: OsString,
#[rkyv(with = AsString)]
path: PathBuf,
}
Trait Implementations§
Source§impl ArchiveWith<OsString> for AsString
Available on crate feature std
only.
impl ArchiveWith<OsString> for AsString
Available on crate feature
std
only.Source§type Archived = ArchivedString
type Archived = ArchivedString
The archived type of
Self
with F
.Source§type Resolver = StringResolver
type Resolver = StringResolver
The resolver of a
Self
with F
.Source§impl ArchiveWith<PathBuf> for AsString
Available on crate feature std
only.
impl ArchiveWith<PathBuf> for AsString
Available on crate feature
std
only.Source§type Archived = ArchivedString
type Archived = ArchivedString
The archived type of
Self
with F
.Source§type Resolver = StringResolver
type Resolver = StringResolver
The resolver of a
Self
with F
.Source§impl<D> DeserializeWith<ArchivedString, OsString, D> for AsString
Available on crate feature std
only.
impl<D> DeserializeWith<ArchivedString, OsString, D> for AsString
Available on crate feature
std
only.Source§fn deserialize_with(
field: &ArchivedString,
_: &mut D,
) -> Result<OsString, D::Error>
fn deserialize_with( field: &ArchivedString, _: &mut D, ) -> Result<OsString, D::Error>
Deserializes the field type
F
using the given deserializer.Source§impl<D> DeserializeWith<ArchivedString, PathBuf, D> for AsString
Available on crate feature std
only.
impl<D> DeserializeWith<ArchivedString, PathBuf, D> for AsString
Available on crate feature
std
only.Source§fn deserialize_with(
field: &ArchivedString,
_: &mut D,
) -> Result<PathBuf, D::Error>
fn deserialize_with( field: &ArchivedString, _: &mut D, ) -> Result<PathBuf, D::Error>
Deserializes the field type
F
using the given deserializer.Source§impl<S> SerializeWith<OsString, S> for AsString
Available on crate feature std
only.
impl<S> SerializeWith<OsString, S> for AsString
Available on crate feature
std
only.Source§impl<S> SerializeWith<PathBuf, S> for AsString
Available on crate feature std
only.
impl<S> SerializeWith<PathBuf, S> for AsString
Available on crate feature
std
only.Auto Trait Implementations§
impl Freeze for AsString
impl RefUnwindSafe for AsString
impl Send for AsString
impl Sync for AsString
impl Unpin for AsString
impl UnwindSafe for AsString
Blanket Implementations§
Source§impl<T> ArchivePointee for T
impl<T> ArchivePointee for T
Source§type ArchivedMetadata = ()
type ArchivedMetadata = ()
The archived version of the pointer metadata for this type.
Source§fn pointer_metadata(
_: &<T as ArchivePointee>::ArchivedMetadata,
) -> <T as Pointee>::Metadata
fn pointer_metadata( _: &<T as ArchivePointee>::ArchivedMetadata, ) -> <T as Pointee>::Metadata
Converts some archived metadata to the pointer metadata for itself.
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> LayoutRaw for T
impl<T> LayoutRaw for T
Source§fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
fn layout_raw(_: <T as Pointee>::Metadata) -> Result<Layout, LayoutError>
Returns the layout of the type.
Source§impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
impl<T, N1, N2> Niching<NichedOption<T, N1>> for N2
Source§unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
unsafe fn is_niched(niched: *const NichedOption<T, N1>) -> bool
Returns whether the given value has been niched. Read more
Source§fn resolve_niched(out: Place<NichedOption<T, N1>>)
fn resolve_niched(out: Place<NichedOption<T, N1>>)
Writes data to
out
indicating that a T
is niched.