1.0.0[−][src]Enum std::path::Component
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()), ]);
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]
Trait Implementations
impl<'a> Eq for Component<'a>
[src]
impl<'_> AsRef<OsStr> for Component<'_>
[src]
impl<'_> AsRef<Path> for Component<'_>
1.25.0[src]
impl<'a> Copy for Component<'a>
[src]
impl<'a> PartialEq<Component<'a>> for Component<'a>
[src]
impl<'a> Hash for Component<'a>
[src]
fn hash<__H>(&self, state: &mut __H) where
__H: Hasher,
[src]
__H: Hasher,
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl<'a> Clone for Component<'a>
[src]
impl<'a> Ord for Component<'a>
[src]
fn cmp(&self, other: &Component<'a>) -> Ordering
[src]
fn max(self, other: Self) -> Self
1.21.0[src]
fn min(self, other: Self) -> Self
1.21.0[src]
fn clamp(self, min: Self, max: Self) -> Self
[src]
impl<'a> PartialOrd<Component<'a>> for Component<'a>
[src]
fn partial_cmp(&self, other: &Component<'a>) -> Option<Ordering>
[src]
fn lt(&self, other: &Component<'a>) -> bool
[src]
fn le(&self, other: &Component<'a>) -> bool
[src]
fn gt(&self, other: &Component<'a>) -> bool
[src]
fn ge(&self, other: &Component<'a>) -> bool
[src]
impl<'a> Debug for Component<'a>
[src]
Auto Trait Implementations
impl<'a> Unpin for Component<'a>
impl<'a> Sync for Component<'a>
impl<'a> Send for Component<'a>
impl<'a> UnwindSafe for Component<'a>
impl<'a> RefUnwindSafe for Component<'a>
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> From<T> for T
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
ⓘImportant traits for &'_ mut Wfn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,