Struct PrefixComponent

struct PrefixComponent<'a> { ... }

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

# if cfg!(windows) {
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!(),
}
# }

Implementations

impl<'a> PrefixComponent<'a>

fn kind(self: &Self) -> Prefix<'a>

Returns the parsed prefix data.

See Prefix's documentation for more information on the different kinds of prefixes.

fn as_os_str(self: &Self) -> &'a OsStr

Returns the raw OsStr slice for this prefix.

impl Hash for PrefixComponent<'_>

fn hash<H: Hasher>(self: &Self, h: &mut H)

impl Ord for PrefixComponent<'_>

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

impl<'a> Clone for PrefixComponent<'a>

fn clone(self: &Self) -> PrefixComponent<'a>

impl<'a> Copy for PrefixComponent<'a>

impl<'a> Debug for PrefixComponent<'a>

fn fmt(self: &Self, f: &mut $crate::fmt::Formatter<'_>) -> $crate::fmt::Result

impl<'a> Eq for PrefixComponent<'a>

impl<'a> Freeze for PrefixComponent<'a>

impl<'a> PartialEq for PrefixComponent<'a>

fn eq(self: &Self, other: &PrefixComponent<'a>) -> bool

impl<'a> PartialOrd for PrefixComponent<'a>

fn partial_cmp(self: &Self, other: &PrefixComponent<'a>) -> Option<cmp::Ordering>

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>

impl<T> Any for PrefixComponent<'a>

fn type_id(self: &Self) -> TypeId

impl<T> Borrow for PrefixComponent<'a>

fn borrow(self: &Self) -> &T

impl<T> BorrowMut for PrefixComponent<'a>

fn borrow_mut(self: &mut Self) -> &mut T

impl<T> CloneToUninit for PrefixComponent<'a>

unsafe fn clone_to_uninit(self: &Self, dest: *mut u8)

impl<T> From for PrefixComponent<'a>

fn from(t: T) -> T

Returns the argument unchanged.

impl<T> ToOwned for PrefixComponent<'a>

fn to_owned(self: &Self) -> T
fn clone_into(self: &Self, target: &mut T)

impl<T, U> Into for PrefixComponent<'a>

fn into(self: Self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

impl<T, U> TryFrom for PrefixComponent<'a>

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

impl<T, U> TryInto for PrefixComponent<'a>

fn try_into(self: Self) -> Result<U, <U as TryFrom<T>>::Error>