Skip to main content

Utf8Components

Trait Utf8Components 

Source
pub trait Utf8Components<'a>:
    AsRef<str>
    + Clone
    + Debug
    + PartialEq
    + Eq
    + PartialOrd
    + Ord
    + Iterator<Item = Self::Component>
    + DoubleEndedIterator<Item = Self::Component>
    + FusedIterator
    + Sized
    + Sealed {
    type Component: Utf8Component<'a>;

    // Required methods
    fn as_str(&self) -> &'a str;
    fn is_absolute(&self) -> bool;
    fn has_root(&self) -> bool;
}
Expand description

Interface of an iterator over a collection of Utf8Components

Required Associated Types§

Source

type Component: Utf8Component<'a>

Type of Utf8Component iterated over

Required Methods§

Source

fn as_str(&self) -> &'a str

Extracts a slice corresponding to the portion of the path remaining for iteration

Source

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 and has_root are equivalent.

  • On Windows, a path is absolute if it has a prefix and starts with the root: c:\windows is absolute, while c:temp and \temp are not.

Source

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 not c:windows
    • has any non-disk prefix, e.g., \\server\share

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§