pub enum Component<'a> { Prefix(PrefixComponent<'a>), RootDir, CurDir, ParentDir, Normal(&'a OsStr), }
A single component of a path.
See the module documentation for an in-depth explanation of components and their role in the API.
This enum
is created from iterating over the path::Components
struct
.
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()), ]);
Prefix(PrefixComponent<'a>)
A Windows path prefix, e.g. C:
or \\server\share
.
Does not occur on Unix.
RootDir
The root directory component, appears after any prefix and before anything else
CurDir
A reference to the current directory, i.e. .
ParentDir
A reference to the parent directory, i.e. ..
Normal(&'a OsStr)
A normal component, i.e. a
and b
in a/b
impl<'a> Component<'a>
[src]
fn as_os_str(self) -> &'a OsStr
Extracts the underlying OsStr
slice.
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"]);
impl<'a> Copy for Component<'a>
[src]
impl<'a> Clone for Component<'a>
[src]
fn clone(&self) -> Component<'a>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<'a> PartialEq for Component<'a>
[src]
fn eq(&self, __arg_0: &Component<'a>) -> bool
This method tests for self
and other
values to be equal, and is used by ==
. Read more
fn ne(&self, __arg_0: &Component<'a>) -> bool
This method tests for !=
.
impl<'a> Eq for Component<'a>
[src]
impl<'a> PartialOrd for Component<'a>
[src]
fn partial_cmp(&self, __arg_0: &Component<'a>) -> Option<Ordering>
This method returns an ordering between self
and other
values if one exists. Read more
fn lt(&self, __arg_0: &Component<'a>) -> bool
This method tests less than (for self
and other
) and is used by the <
operator. Read more
fn le(&self, __arg_0: &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, __arg_0: &Component<'a>) -> bool
This method tests greater than (for self
and other
) and is used by the >
operator. Read more
fn ge(&self, __arg_0: &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]
fn cmp(&self, __arg_0: &Component<'a>) -> Ordering
This method returns an Ordering
between self
and other
. Read more
impl<'a> Hash for Component<'a>
[src]
fn hash<__H: Hasher>(&self, __arg_0: &mut __H)
Feeds this value into the state given, updating the hasher as necessary.
fn hash_slice<H>(data: &[Self], state: &mut H) where H: Hasher
Feeds a slice of this type into the state provided.
impl<'a> Debug for Component<'a>
[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
Formats the value using the given formatter.
impl<'a> AsRef<OsStr> for Component<'a>
[src]
fn as_ref(&self) -> &OsStr
Performs the conversion.
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/path/enum.Component.html