pub trait Components<'a>:
AsRef<[u8]>
+ Clone
+ Debug
+ PartialEq
+ Eq
+ PartialOrd
+ Ord
+ Iterator<Item = Self::Component>
+ DoubleEndedIterator<Item = Self::Component>
+ FusedIterator
+ Sized
+ Sealed {
type Component: Component<'a>;
// Required methods
fn as_bytes(&self) -> &'a [u8] ⓘ;
fn is_absolute(&self) -> bool;
fn has_root(&self) -> bool;
}
Expand description
Interface of an iterator over a collection of Component
s
Required Associated Types§
Required Methods§
Sourcefn as_bytes(&self) -> &'a [u8] ⓘ
fn as_bytes(&self) -> &'a [u8] ⓘ
Extracts a slice corresponding to the portion of the path remaining for iteration
Sourcefn is_absolute(&self) -> bool
fn is_absolute(&self) -> bool
Reports back whether the iterator represents an absolute path
The definition of an absolute path can vary:
-
On Unix, a path is absolute if it starts with the root, so
is_absolute
andhas_root
are equivalent. -
On Windows, a path is absolute if it has a prefix and starts with the root:
c:\windows
is absolute, whilec:temp
and\temp
are not.
Sourcefn has_root(&self) -> bool
fn has_root(&self) -> bool
Returns true
if the iterator represents a path that has a root.
The definition of what it means for a path to have a root can vary:
-
On Unix, a path has a root if it begins with
/
. -
On Windows, a path has a root if it:
- has no prefix and begins with a separator, e.g.,
\windows
- has a prefix followed by a separator, e.g.,
c:\windows
but notc:windows
- has any non-disk prefix, e.g.,
\\server\share
- has no prefix and begins with a separator, e.g.,
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.