1.0.0[][src]Struct std::path::PrefixComponent

pub struct PrefixComponent<'a> { /* fields omitted */ }

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.


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!(),


impl<'a> PrefixComponent<'a>[src]

pub fn kind(&self) -> Prefix<'a>[src]

Returns the parsed prefix data.

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

pub fn as_os_str(&self) -> &'a OsStr[src]

Returns the raw OsStr slice for this prefix.

Trait Implementations

impl<'a> PartialEq<PrefixComponent<'a>> for PrefixComponent<'a>[src]

impl<'a> Eq for PrefixComponent<'a>[src]

impl<'_> Ord for PrefixComponent<'_>[src]

impl<'a> PartialOrd<PrefixComponent<'a>> for PrefixComponent<'a>[src]

impl<'_> Hash for PrefixComponent<'_>[src]

impl<'a> Debug for PrefixComponent<'a>[src]

impl<'a> Copy for PrefixComponent<'a>[src]

impl<'a> Clone for PrefixComponent<'a>[src]

Auto Trait Implementations

impl<'a> UnwindSafe for PrefixComponent<'a>

impl<'a> RefUnwindSafe for PrefixComponent<'a>

impl<'a> Unpin for PrefixComponent<'a>

impl<'a> Send for PrefixComponent<'a>

impl<'a> Sync for PrefixComponent<'a>

Blanket Implementations

impl<T> From<T> for T[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> Into<U> for T where
    U: From<T>, 

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Borrow<T> for T where
    T: ?Sized

impl<T> BorrowMut<T> for T where
    T: ?Sized

impl<T> Any for T where
    T: 'static + ?Sized

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.