pub struct PrefixComponent<'a> {
raw: &'a OsStr,
parsed: Prefix<'a>,
}
Expand description
A structure wrapping a Windows path prefix as well as its unparsed string representation.
In addition to the parsed Prefix
information returned by kind
,
PrefixComponent
also holds the raw and unparsed OsStr
slice,
returned by as_os_str
.
Instances of this struct
can be obtained by matching against the
Prefix
variant on Component
.
Does not occur on Unix.
§Examples
use std::path::{Component, Path, Prefix};
use std::ffi::OsStr;
let path = Path::new(r"c:\you\later\");
match path.components().next().unwrap() {
Component::Prefix(prefix_component) => {
assert_eq!(Prefix::Disk(b'C'), prefix_component.kind());
assert_eq!(OsStr::new("c:"), prefix_component.as_os_str());
}
_ => unreachable!(),
}
Fields§
§raw: &'a OsStr
§parsed: Prefix<'a>
Implementations§
Trait Implementations§
1.0.0 · source§impl<'a> Clone for PrefixComponent<'a>
impl<'a> Clone for PrefixComponent<'a>
source§fn clone(&self) -> PrefixComponent<'a>
fn clone(&self) -> PrefixComponent<'a>
Returns a copy of the value. Read more
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read more1.0.0 · source§impl<'a> Debug for PrefixComponent<'a>
impl<'a> Debug for PrefixComponent<'a>
1.0.0 · source§impl Hash for PrefixComponent<'_>
impl Hash for PrefixComponent<'_>
1.0.0 · source§impl Ord for PrefixComponent<'_>
impl Ord for PrefixComponent<'_>
source§fn cmp(&self, other: &PrefixComponent<'_>) -> Ordering
fn cmp(&self, other: &PrefixComponent<'_>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
1.0.0 · source§impl<'a> PartialEq for PrefixComponent<'a>
impl<'a> PartialEq for PrefixComponent<'a>
source§fn eq(&self, other: &PrefixComponent<'a>) -> bool
fn eq(&self, other: &PrefixComponent<'a>) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.1.0.0 · source§impl<'a> PartialOrd for PrefixComponent<'a>
impl<'a> PartialOrd for PrefixComponent<'a>
source§fn partial_cmp(&self, other: &PrefixComponent<'a>) -> Option<Ordering>
fn partial_cmp(&self, other: &PrefixComponent<'a>) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moreimpl<'a> Copy for PrefixComponent<'a>
impl<'a> Eq for PrefixComponent<'a>
Auto Trait Implementations§
impl<'a> Freeze for PrefixComponent<'a>
impl<'a> RefUnwindSafe for PrefixComponent<'a>
impl<'a> Send for PrefixComponent<'a>
impl<'a> Sync for PrefixComponent<'a>
impl<'a> Unpin for PrefixComponent<'a>
impl<'a> UnwindSafe for PrefixComponent<'a>
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