pub struct Operator<const C1: char, const C2: char = '\0', const C3: char = '\0', const C4: char = '\0'>;Expand description
Operators made from up to four ASCII punctuation characters. Unused characters default to \0.
Custom operators can be defined with the crate::operator! macro. All but the last character are
Spacing::Joint. Attention must be payed when operators have the same prefix, the shorter
ones need to be tried first.
Implementations§
Trait Implementations§
Source§impl<const C1: char, const C2: char, const C3: char, const C4: char> Clone for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> Clone for Operator<C1, C2, C3, C4>
Source§impl<const C1: char, const C2: char, const C3: char, const C4: char> Debug for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> Debug for Operator<C1, C2, C3, C4>
Source§impl<const C1: char, const C2: char, const C3: char, const C4: char> Default for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> Default for Operator<C1, C2, C3, C4>
Source§impl<const C1: char, const C2: char, const C3: char, const C4: char> Parser for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> Parser for Operator<C1, C2, C3, C4>
Source§fn parser(tokens: &mut TokenIter) -> Result<Operator<C1, C2, C3, C4>, Error>
fn parser(tokens: &mut TokenIter) -> Result<Operator<C1, C2, C3, C4>, Error>
The actual parsing function that must be implemented. This mutates the
tokens
iterator directly. It should not be called from user code except for implementing
parsers itself and then only when the rules below are followed. Read moreSource§impl<const C1: char, const C2: char, const C3: char, const C4: char> PartialEq for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> PartialEq for Operator<C1, C2, C3, C4>
Source§impl<const C1: char, const C2: char, const C3: char, const C4: char> ToTokens for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> ToTokens for Operator<C1, C2, C3, C4>
Source§fn to_tokens(&self, tokens: &mut TokenStream)
fn to_tokens(&self, tokens: &mut TokenStream)
Source§fn into_token_iter(self) -> TokenIter ⓘwhere
Self: Sized,
fn into_token_iter(self) -> TokenIter ⓘwhere
Self: Sized,
Convert
self into a TokenIter object.Source§fn to_token_stream(&self) -> TokenStream
fn to_token_stream(&self) -> TokenStream
Convert
&self into a TokenStream object.Source§fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
fn into_token_stream(self) -> TokenStreamwhere
Self: Sized,
Convert
self into a TokenStream object.impl<const C1: char, const C2: char, const C3: char, const C4: char> Copy for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> Eq for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> StructuralPartialEq for Operator<C1, C2, C3, C4>
Auto Trait Implementations§
impl<const C1: char, const C2: char, const C3: char, const C4: char> Freeze for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> RefUnwindSafe for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> Send for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> Sync for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> Unpin for Operator<C1, C2, C3, C4>
impl<const C1: char, const C2: char, const C3: char, const C4: char> UnwindSafe for Operator<C1, C2, C3, C4>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> DynamicTokens for T
impl<T> DynamicTokens for T
Source§impl<T> Parse for Twhere
T: Parser,
impl<T> Parse for Twhere
T: Parser,
Source§fn parse(tokens: &mut TokenIter) -> Result<Self, Error>
fn parse(tokens: &mut TokenIter) -> Result<Self, Error>
This is the user facing API to parse grammatical entities. Calls a
parser() within a
transaction. Commits changes on success and returns the parsed value. Read more