Enum Component
1.0.0 · Source 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()),
]);
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.
The root directory component, appears after any prefix and before anything else.
It represents a separator that designates that a path starts from root.
A reference to the current directory, i.e., ..
A reference to the parent directory, i.e., ...
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.
Extracts the underlying OsStr slice.
§Examples
use std::path::Path;
let path = Path::new("./tmp/foo/bar.txt");
let components: Vec<_> = path.components().map(|comp| comp.as_os_str()).collect();
assert_eq!(&components, &[".", "tmp", "foo", "bar.txt"]);
Converts this type into a shared reference of the (usually inferred) input type.
Converts this type into a shared reference of the (usually inferred) input type.
Performs copy-assignment from
source.
Read more
Formats the value using the given formatter.
Read more
Compares and returns the maximum of two values.
Read more
Compares and returns the minimum of two values.
Read more
Restrict a value to a certain interval.
Read more
Tests for self and other values to be equal, and is used by ==.
Tests for !=. The default implementation is almost always sufficient,
and should not be overridden without very good reason.
This method returns an ordering between
self and
other values if one exists.
Read more
Tests less than (for
self and
other) and is used by the
< operator.
Read more
Tests less than or equal to (for
self and
other) and is used by the
<= operator.
Read more
Tests greater than (for
self and
other) and is used by the
>
operator.
Read more
Tests greater than or equal to (for
self and
other) and is used by
the
>= operator.
Read more
Immutably borrows from an owned value.
Read more
Mutably borrows from an owned value.
Read more
🔬This is a nightly-only experimental API. (clone_to_uninit #126799) Performs copy-assignment from
self to
dest.
Read more
Returns the argument unchanged.
Calls U::from(self).
That is, this conversion is whatever the implementation of
From<T> for U chooses to do.
The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning.
Read more
Uses borrowed data to replace owned data, usually by cloning.
Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.