pub enum Utf8Component<'a> {
Prefix(Utf8PrefixComponent<'a>),
RootDir,
CurDir,
ParentDir,
Normal(&'a str),
}
Expand description
A single component of a path.
A Utf8Component
roughly corresponds to a substring between path separators
(/
or \
).
This enum
is created by iterating over Utf8Components
, which in turn is
created by the components
method on Utf8Path
.
§Examples
use camino::{Utf8Component, Utf8Path};
let path = Utf8Path::new("/tmp/foo/bar.txt");
let components = path.components().collect::<Vec<_>>();
assert_eq!(&components, &[
Utf8Component::RootDir,
Utf8Component::Normal("tmp"),
Utf8Component::Normal("foo"),
Utf8Component::Normal("bar.txt"),
]);
Variants§
Prefix(Utf8PrefixComponent<'a>)
A Windows path prefix, e.g., C:
or \\server\share
.
There is a large variety of prefix types, see Utf8Prefix
’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 str)
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 AsRef<OsStr> for Utf8Component<'_>
impl AsRef<OsStr> for Utf8Component<'_>
source§impl AsRef<Path> for Utf8Component<'_>
impl AsRef<Path> for Utf8Component<'_>
source§impl AsRef<Utf8Path> for Utf8Component<'_>
impl AsRef<Utf8Path> for Utf8Component<'_>
source§impl AsRef<str> for Utf8Component<'_>
impl AsRef<str> for Utf8Component<'_>
source§impl<'a> Clone for Utf8Component<'a>
impl<'a> Clone for Utf8Component<'a>
source§fn clone(&self) -> Utf8Component<'a>
fn clone(&self) -> Utf8Component<'a>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<'a> Debug for Utf8Component<'a>
impl<'a> Debug for Utf8Component<'a>
source§impl<'a> Display for Utf8Component<'a>
impl<'a> Display for Utf8Component<'a>
source§impl<'a> Hash for Utf8Component<'a>
impl<'a> Hash for Utf8Component<'a>
source§impl<'a> Ord for Utf8Component<'a>
impl<'a> Ord for Utf8Component<'a>
source§fn cmp(&self, other: &Utf8Component<'a>) -> Ordering
fn cmp(&self, other: &Utf8Component<'a>) -> Ordering
1.21.0 · source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
source§impl<'a> PartialEq for Utf8Component<'a>
impl<'a> PartialEq for Utf8Component<'a>
source§impl<'a> PartialOrd for Utf8Component<'a>
impl<'a> PartialOrd for Utf8Component<'a>
impl<'a> Copy for Utf8Component<'a>
impl<'a> Eq for Utf8Component<'a>
impl<'a> StructuralPartialEq for Utf8Component<'a>
Auto Trait Implementations§
impl<'a> Freeze for Utf8Component<'a>
impl<'a> RefUnwindSafe for Utf8Component<'a>
impl<'a> Send for Utf8Component<'a>
impl<'a> Sync for Utf8Component<'a>
impl<'a> Unpin for Utf8Component<'a>
impl<'a> UnwindSafe for Utf8Component<'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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)