Component in std::path - Rust (original) (raw)
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()),
]);
§1.0.0
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.
§1.0.0
The root directory component, appears after any prefix and before anything else.
It represents a separator that designates that a path starts from root.
§1.0.0
A reference to the current directory, i.e., .
.
§1.0.0
A reference to the parent directory, i.e., ..
.
§1.0.0
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.
1.0.0 · Source
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.
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