Trait scrapmetal::Term
[−]
[src]
pub trait Term: Sized { fn map_one_transform<F>(self, f: &mut F) -> Self
where
F: GenericTransform; fn map_one_query<Q, R, F>(&self, query: &mut Q, each: F)
where
Q: GenericQuery<R>,
F: FnMut(&mut Q, R); fn map_one_mutation<M, R, F>(&mut self, mutation: &mut M, each: F)
where
M: GenericMutate<R>,
F: FnMut(&mut M, R); }
A Term
is a value that can be mapped or queried.
Required Methods
fn map_one_transform<F>(self, f: &mut F) -> Self where
F: GenericTransform,
F: GenericTransform,
Perform one-layer traversal and transformation of this value's direct children.
fn map_one_query<Q, R, F>(&self, query: &mut Q, each: F) where
Q: GenericQuery<R>,
F: FnMut(&mut Q, R),
Q: GenericQuery<R>,
F: FnMut(&mut Q, R),
Perform one-layer traversal and immutable querying of this value's
direct children, calling each
on each of the query result for each
direct child.
fn map_one_mutation<M, R, F>(&mut self, mutation: &mut M, each: F) where
M: GenericMutate<R>,
F: FnMut(&mut M, R),
M: GenericMutate<R>,
F: FnMut(&mut M, R),
Perform one-layer traversal and mutable querying of this value's direct
children, calling each
on each of the query result for each direct
child.
Implementors
impl Term for ()
impl Term for &'static str
impl Term for bool
impl Term for char
impl Term for f32
impl Term for f64
impl Term for usize
impl Term for u8
impl Term for u16
impl Term for u32
impl Term for u64
impl Term for isize
impl Term for i8
impl Term for i16
impl Term for i32
impl Term for i64
impl<A, B> Term for (A, B) where
A: Term,
B: Term,impl<A, B, C> Term for (A, B, C) where
A: Term,
B: Term,
C: Term,impl<A, B, C, D> Term for (A, B, C, D) where
A: Term,
B: Term,
C: Term,
D: Term,impl<A, B, C, D, E> Term for (A, B, C, D, E) where
A: Term,
B: Term,
C: Term,
D: Term,
E: Term,impl<A, B, C, D, E, F> Term for (A, B, C, D, E, F) where
A: Term,
B: Term,
C: Term,
D: Term,
E: Term,
F: Term,impl<A, B, C, D, E, F, G> Term for (A, B, C, D, E, F, G) where
A: Term,
B: Term,
C: Term,
D: Term,
E: Term,
F: Term,
G: Term,impl<A, B, C, D, E, F, G, H> Term for (A, B, C, D, E, F, G, H) where
A: Term,
B: Term,
C: Term,
D: Term,
E: Term,
F: Term,
G: Term,
H: Term,impl<A, B, C, D, E, F, G, H, I> Term for (A, B, C, D, E, F, G, H, I) where
A: Term,
B: Term,
C: Term,
D: Term,
E: Term,
F: Term,
G: Term,
H: Term,
I: Term,impl<A, B, C, D, E, F, G, H, I, J> Term for (A, B, C, D, E, F, G, H, I, J) where
A: Term,
B: Term,
C: Term,
D: Term,
E: Term,
F: Term,
G: Term,
H: Term,
I: Term,
J: Term,impl<A, B, C, D, E, F, G, H, I, J, K> Term for (A, B, C, D, E, F, G, H, I, J, K) where
A: Term,
B: Term,
C: Term,
D: Term,
E: Term,
F: Term,
G: Term,
H: Term,
I: Term,
J: Term,
K: Term,impl<A, B, C, D, E, F, G, H, I, J, K, L> Term for (A, B, C, D, E, F, G, H, I, J, K, L) where
A: Term,
B: Term,
C: Term,
D: Term,
E: Term,
F: Term,
G: Term,
H: Term,
I: Term,
J: Term,
K: Term,
L: Term,impl<T> Term for Vec<T> where
T: Term,impl<T> Term for Box<T> where
T: Sized + Term,