pub trait Utf8Encoding<'a>: Sealed {
    type Components: Utf8Components<'a>;

    // Required methods
    fn label() -> &'static str;
    fn components(path: &'a str) -> Self::Components;
    fn hash<H: Hasher>(path: &str, h: &mut H);
    fn push(current_path: &mut String, path: &str);
}
Expand description

Interface to provide meaning to a byte slice such that paths can be derived

Required Associated Types§

source

type Components: Utf8Components<'a>

Represents the type of component that will be derived by this encoding

Required Methods§

source

fn label() -> &'static str

Static label representing encoding type

source

fn components(path: &'a str) -> Self::Components

Produces an iterator of Utf8Components over the given the byte slice (path)

source

fn hash<H: Hasher>(path: &str, h: &mut H)

Hashes a utf8 str (path)

source

fn push(current_path: &mut String, path: &str)

Pushes a utf8 str (path) onto the an existing path (current_path)

Implementors§