[][src]Trait selectors::parser::SelectorImpl

pub trait SelectorImpl: Clone + Debug + Sized + 'static {
    type ExtraMatchingData: Sized + Default + 'static;
    type AttrValue: Clone + Eq + for<'a> From<&'a str> + Display;
    type Identifier: Clone + Eq + for<'a> From<&'a str> + Display;
    type ClassName: Clone + Eq + for<'a> From<&'a str> + Display;
    type PartName: Clone + Eq + for<'a> From<&'a str> + Display;
    type LocalName: Clone + Eq + for<'a> From<&'a str> + Display + Borrow<Self::BorrowedLocalName>;
    type NamespaceUrl: Clone + Eq + Default + Borrow<Self::BorrowedNamespaceUrl>;
    type NamespacePrefix: Clone + Eq + for<'a> From<&'a str> + Display + Default;
    type BorrowedNamespaceUrl: ?Sized + Eq;
    type BorrowedLocalName: ?Sized + Eq;
    type NonTSPseudoClass: Clone + Eq + NonTSPseudoClass<Impl = Self>;
    type PseudoElement: Clone + Eq + PseudoElement<Impl = Self>;
}

This trait allows to define the parser implementation in regards of pseudo-classes/elements

NB: We need Clone so that we can derive(Clone) on struct with that are parameterized on SelectorImpl. See https://github.com/rust-lang/rust/issues/26925

Associated Types

type ExtraMatchingData: Sized + Default + 'static

type AttrValue: Clone + Eq + for<'a> From<&'a str> + Display

type Identifier: Clone + Eq + for<'a> From<&'a str> + Display

type ClassName: Clone + Eq + for<'a> From<&'a str> + Display

type PartName: Clone + Eq + for<'a> From<&'a str> + Display

type LocalName: Clone + Eq + for<'a> From<&'a str> + Display + Borrow<Self::BorrowedLocalName>

type NamespaceUrl: Clone + Eq + Default + Borrow<Self::BorrowedNamespaceUrl>

type NamespacePrefix: Clone + Eq + for<'a> From<&'a str> + Display + Default

type BorrowedNamespaceUrl: ?Sized + Eq

type BorrowedLocalName: ?Sized + Eq

type NonTSPseudoClass: Clone + Eq + NonTSPseudoClass<Impl = Self>

non tree-structural pseudo-classes (see: https://drafts.csswg.org/selectors/#structural-pseudos)

type PseudoElement: Clone + Eq + PseudoElement<Impl = Self>

pseudo-elements

Loading content...

Implementors

Loading content...