Enum camino::Utf8Component
source · [−]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
sourceimpl<'a> Utf8Component<'a>
impl<'a> Utf8Component<'a>
Trait Implementations
sourceimpl AsRef<OsStr> for Utf8Component<'_>
impl AsRef<OsStr> for Utf8Component<'_>
sourceimpl AsRef<Path> for Utf8Component<'_>
impl AsRef<Path> for Utf8Component<'_>
sourceimpl AsRef<Utf8Path> for Utf8Component<'_>
impl AsRef<Utf8Path> for Utf8Component<'_>
sourceimpl AsRef<str> for Utf8Component<'_>
impl AsRef<str> for Utf8Component<'_>
sourceimpl<'a> Clone for Utf8Component<'a>
impl<'a> Clone for Utf8Component<'a>
sourcefn clone(&self) -> Utf8Component<'a>
fn clone(&self) -> Utf8Component<'a>
Returns a copy of the value. Read more
1.0.0 · sourcefn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
sourceimpl<'a> Debug for Utf8Component<'a>
impl<'a> Debug for Utf8Component<'a>
sourceimpl<'a> Display for Utf8Component<'a>
impl<'a> Display for Utf8Component<'a>
sourceimpl<'a> Hash for Utf8Component<'a>
impl<'a> Hash for Utf8Component<'a>
sourceimpl<'a> Ord for Utf8Component<'a>
impl<'a> Ord for Utf8Component<'a>
sourceimpl<'a> PartialEq<Utf8Component<'a>> for Utf8Component<'a>
impl<'a> PartialEq<Utf8Component<'a>> for Utf8Component<'a>
sourcefn eq(&self, other: &Utf8Component<'a>) -> bool
fn eq(&self, other: &Utf8Component<'a>) -> bool
This method tests for self
and other
values to be equal, and is used
by ==
. Read more
sourcefn ne(&self, other: &Utf8Component<'a>) -> bool
fn ne(&self, other: &Utf8Component<'a>) -> bool
This method tests for !=
.
sourceimpl<'a> PartialOrd<Utf8Component<'a>> for Utf8Component<'a>
impl<'a> PartialOrd<Utf8Component<'a>> for Utf8Component<'a>
sourcefn partial_cmp(&self, other: &Utf8Component<'a>) -> Option<Ordering>
fn partial_cmp(&self, other: &Utf8Component<'a>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
1.0.0 · sourcefn lt(&self, other: &Rhs) -> bool
fn lt(&self, other: &Rhs) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
1.0.0 · sourcefn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
impl<'a> Copy for Utf8Component<'a>
impl<'a> Eq for Utf8Component<'a>
impl<'a> StructuralEq for Utf8Component<'a>
impl<'a> StructuralPartialEq for Utf8Component<'a>
Auto Trait Implementations
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> ToOwned for T where
T: Clone,
impl<T> ToOwned for T where
T: Clone,
type Owned = T
type Owned = T
The resulting type after obtaining ownership.
sourcefn clone_into(&self, target: &mut T)
fn clone_into(&self, target: &mut T)
toowned_clone_into
)Uses borrowed data to replace owned data, usually by cloning. Read more