Enum std::path::Component 1.0.0[−][src]
pub enum Component<'a> { Prefix(PrefixComponent<'a>), RootDir, CurDir, ParentDir, Normal(&'a OsStr), }
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()), ]);Run
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.
Methods
impl<'a> Component<'a>
[src]
impl<'a> Component<'a>
Trait Implementations
impl<'a> Copy for Component<'a>
[src]
impl<'a> Copy for Component<'a>
impl<'a> Clone for Component<'a>
[src]
impl<'a> Clone for Component<'a>
fn clone(&self) -> Component<'a>
[src]
fn clone(&self) -> Component<'a>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<'a> PartialEq for Component<'a>
[src]
impl<'a> PartialEq for Component<'a>
fn eq(&self, other: &Component<'a>) -> bool
[src]
fn eq(&self, other: &Component<'a>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, other: &Component<'a>) -> bool
[src]
fn ne(&self, other: &Component<'a>) -> bool
This method tests for !=
.
impl<'a> Eq for Component<'a>
[src]
impl<'a> Eq for Component<'a>
impl<'a> PartialOrd for Component<'a>
[src]
impl<'a> PartialOrd for Component<'a>
fn partial_cmp(&self, other: &Component<'a>) -> Option<Ordering>
[src]
fn partial_cmp(&self, other: &Component<'a>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, other: &Component<'a>) -> bool
[src]
fn lt(&self, other: &Component<'a>) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, other: &Component<'a>) -> bool
[src]
fn le(&self, other: &Component<'a>) -> bool
This method tests less than or equal to (for self
and other
) and is used by the <=
operator. Read more
fn gt(&self, other: &Component<'a>) -> bool
[src]
fn gt(&self, other: &Component<'a>) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, other: &Component<'a>) -> bool
[src]
fn ge(&self, other: &Component<'a>) -> bool
This method tests greater than or equal to (for self
and other
) and is used by the >=
operator. Read more
impl<'a> Ord for Component<'a>
[src]
impl<'a> Ord for Component<'a>
fn cmp(&self, other: &Component<'a>) -> Ordering
[src]
fn cmp(&self, other: &Component<'a>) -> Ordering
This method returns an Ordering
between self
and other
. Read more
fn max(self, other: Self) -> Self
1.21.0[src]
fn max(self, other: Self) -> Self
Compares and returns the maximum of two values. Read more
fn min(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
Compares and returns the minimum of two values. Read more
impl<'a> Hash for Component<'a>
[src]
impl<'a> Hash for Component<'a>
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
Feeds this value into the given [Hasher
]. Read more
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
Feeds a slice of this type into the given [Hasher
]. Read more
impl<'a> Debug for Component<'a>
[src]
impl<'a> Debug for Component<'a>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<'a> AsRef<OsStr> for Component<'a>
[src]
impl<'a> AsRef<OsStr> for Component<'a>
impl<'a> AsRef<Path> for Component<'a>
1.25.0[src]
impl<'a> AsRef<Path> for Component<'a>