Struct std::path::PrefixComponent1.0.0[][src]

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> Clone for PrefixComponent<'a>[src]

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

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

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

impl Hash for PrefixComponent<'_>[src]

impl Ord for PrefixComponent<'_>[src]

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

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

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

Auto Trait Implementations

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

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

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

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

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

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

impl<T> ToOwned for T where
    T: Clone

type Owned = T

The resulting type after obtaining ownership.

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> 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.