Trait typed_path::Component

source ·
pub trait Component<'a>: AsRef<[u8]> + Clone + Debug + PartialEq + Eq + PartialOrd + Ord + Sealed {
    fn as_bytes(&self) -> &'a [u8] ;
    fn is_root(&self) -> bool;
    fn is_normal(&self) -> bool;
    fn len(&self) -> usize;

    fn is_empty(&self) -> bool { ... }
}
Expand description

Interface representing a component in a Path

Required Methods§

Extracts the underlying [[u8]] slice

Returns true if this component is the root component, meaning there are no more components before this one

Use cases are for the root dir separator on Windows and Unix as well as Windows std::path::PrefixComponent

Examples

/my/../path/./here.txt has the components on Unix of

  • UnixComponent::RootDir - is_root() == true
  • UnixComponent::ParentDir - is_root() == false
  • UnixComponent::CurDir - is_root() == false
  • UnixComponent::Normal(b"here.txt") - is_root() == false

Returns true if this component represents a normal part of the path

Examples

/my/../path/./here.txt has the components on Unix of

  • UnixComponent::RootDir - is_normal() == false
  • UnixComponent::ParentDir - is_normal() == false
  • UnixComponent::CurDir - is_normal() == false
  • UnixComponent::Normal(b"here.txt") - is_normal() == true

Returns size of component in bytes

Provided Methods§

Returns true if component represents an empty byte slice

Implementors§