pub enum Component<'a> {
Prefix(PrefixComponent<'a>),
RootDir,
CurDir,
ParentDir,
Normal(&'a OsStr),
}
Expand description
A single component of a path.
A Component
roughly corresponds to a substring between path separators
(/
or \
).
This enum
is created by iterating over Components
, which in turn is
created by the components
method on Path
.
ยงExamples
use std::path::{Component, Path};
let path = Path::new("/tmp/foo/bar.txt");
let components = path.components().collect::<Vec<_>>();
assert_eq!(&components, &[
Component::RootDir,
Component::Normal("tmp".as_ref()),
Component::Normal("foo".as_ref()),
Component::Normal("bar.txt".as_ref()),
]);
Variantsยง
Prefix(PrefixComponent<'a>)
A Windows path prefix, e.g., C:
or \\server\share
.
There is a large variety of prefix types, see Prefix
โs documentation
for more.
Does not occur on Unix.
RootDir
The root directory component, appears after any prefix and before anything else.
It represents a separator that designates that a path starts from root.
CurDir
A reference to the current directory, i.e., .
.
ParentDir
A reference to the parent directory, i.e., ..
.
Normal(&'a OsStr)
A normal component, e.g., a
and b
in a/b
.
This variant is the most common one, it represents references to files or directories.
Implementationsยง
Trait Implementationsยง
Sourceยงimpl<'a> Arg for Component<'a>
impl<'a> Arg for Component<'a>
Sourceยงfn to_string_lossy(&self) -> Cow<'_, str>
fn to_string_lossy(&self) -> Cow<'_, str>
Returns a potentially-lossy rendering of this string as a
Cow<'_, str>
.Sourceยงfn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
fn as_cow_c_str(&self) -> Result<Cow<'_, CStr>, Errno>
Returns a view of this string as a maybe-owned
CStr
.1.0.0 ยท Sourceยงimpl<'a> Ord for Component<'a>
impl<'a> Ord for Component<'a>
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> PartialOrd for Component<'a>
impl<'a> PartialOrd for Component<'a>
impl<'a> Copy for Component<'a>
impl<'a> Eq for Component<'a>
impl<'a> StructuralPartialEq for Component<'a>
Auto Trait Implementationsยง
impl<'a> Freeze for Component<'a>
impl<'a> RefUnwindSafe for Component<'a>
impl<'a> Send for Component<'a>
impl<'a> Sync for Component<'a>
impl<'a> Unpin for Component<'a>
impl<'a> UnwindSafe for Component<'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