[−][src]Struct enum_utils_from_str::StrMapFunc
Generates a lookup function for all the key-value pairs contained in the tree.
Examples
use enum_utils_from_str::StrMapFunc; // Compiling this trie into a lookup function... let mut code = vec![]; StrMapFunc::new("custom_lookup", "bool") .entries(vec![ ("yes", true), ("yep", true), ("no", false), ]) .compile(&mut code); // results in the following generated code. fn custom_lookup(s: &[u8]) -> Option<bool> { match s.len() { 2 => if s[0] == b'n' && s[1] == b'o' { return Some(false); }, 3 => if s[0] == b'y' && s[1] == b'e' { if s[2] == b'p' { return Some(true); } else if s[2] == b's' { return Some(true); } }, _ => {} } None }
Methods
impl StrMapFunc
[src]
pub fn new(func_name: &str, ret_ty: &str) -> Self
[src]
pub fn case(&mut self, case: Case) -> &mut Self
[src]
pub fn entry(&mut self, k: &str, v: impl ToTokens) -> &mut Self
[src]
pub fn entries<'a, V: 'a>(
&mut self,
entries: impl IntoIterator<Item = (&'a str, V)>
) -> &mut Self where
V: ToTokens,
[src]
&mut self,
entries: impl IntoIterator<Item = (&'a str, V)>
) -> &mut Self where
V: ToTokens,
pub fn compile(&self, w: impl Write) -> Result<()>
[src]
Trait Implementations
impl Clone for StrMapFunc
[src]
fn clone(&self) -> StrMapFunc
[src]
fn clone_from(&mut self, source: &Self)
1.0.0[src]
Performs copy-assignment from source
. Read more
impl ToTokens for StrMapFunc
[src]
fn to_tokens(&self, tokens: &mut TokenStream)
[src]
fn into_token_stream(self) -> TokenStream
[src]
Convert self
directly into a TokenStream
object. Read more
Auto Trait Implementations
impl !Send for StrMapFunc
impl !Sync for StrMapFunc
Blanket Implementations
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,