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 OsStrThe prefix as an unparsed OsStr slice.
parsed: Prefix<'a>The parsed prefix data.
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 duplicate 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<'a> Eq for PrefixComponent<'a>
impl<'a> Eq for PrefixComponent<'a>
#[doc(hidden)] fn assert_receiver_is_total_eq(&self)
1.0.0 · Source§impl Hash for PrefixComponent<'_>
impl Hash for PrefixComponent<'_>
1.0.0 · Source§impl Ord for PrefixComponent<'_>
impl Ord for PrefixComponent<'_>
1.0.0 · Source§impl<'a> PartialEq for PrefixComponent<'a>
impl<'a> PartialEq for PrefixComponent<'a>
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>
Source§#[doc(hidden)] fn __chaining_lt(&self, other: &Rhs) -> ControlFlow<bool>
#[doc(hidden)] fn __chaining_lt(&self, other: &Rhs) -> ControlFlow<bool>
🔬This is a nightly-only experimental API. (
partial_ord_chaining_methods)If
self == other, returns ControlFlow::Continue(()).
Otherwise, returns ControlFlow::Break(self < other). Read moreSource§#[doc(hidden)] fn __chaining_le(&self, other: &Rhs) -> ControlFlow<bool>
#[doc(hidden)] fn __chaining_le(&self, other: &Rhs) -> ControlFlow<bool>
🔬This is a nightly-only experimental API. (
partial_ord_chaining_methods)Same as
__chaining_lt, but for <= instead of <.Source§#[doc(hidden)] fn __chaining_gt(&self, other: &Rhs) -> ControlFlow<bool>
#[doc(hidden)] fn __chaining_gt(&self, other: &Rhs) -> ControlFlow<bool>
🔬This is a nightly-only experimental API. (
partial_ord_chaining_methods)Same as
__chaining_lt, but for > instead of <.Source§#[doc(hidden)] fn __chaining_ge(&self, other: &Rhs) -> ControlFlow<bool>
#[doc(hidden)] fn __chaining_ge(&self, other: &Rhs) -> ControlFlow<bool>
🔬This is a nightly-only experimental API. (
partial_ord_chaining_methods)Same as
__chaining_lt, but for >= instead of <.impl<'a> Copy for PrefixComponent<'a>
impl<'a> TrivialClone 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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> SizedTypeProperties for T
impl<T> SizedTypeProperties for T
Source§#[doc(hidden)] const SIZE: usize = _
#[doc(hidden)] const SIZE: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)] const ALIGN: usize = _
#[doc(hidden)] const ALIGN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)] const IS_ZST: bool = _
#[doc(hidden)] const IS_ZST: bool = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)] const LAYOUT: Layout = _
#[doc(hidden)] const LAYOUT: Layout = _
🔬This is a nightly-only experimental API. (
sized_type_properties)Source§#[doc(hidden)] const MAX_SLICE_LEN: usize = _
#[doc(hidden)] const MAX_SLICE_LEN: usize = _
🔬This is a nightly-only experimental API. (
sized_type_properties)The largest safe length for a
[Self]. Read more