Struct compose_rt::Composer
source · [−]pub struct Composer { /* private fields */ }Implementations
sourceimpl Composer
impl Composer
pub fn tag<F, T>(&mut self, key: usize, func: F) -> T where
F: FnOnce(&mut Composer) -> T,
pub fn state<Node>(&mut self, val: Node) -> Node where
Node: ComposeNode + Clone,
pub fn taged_state<Node>(&mut self, key: Option<usize>, val: Node) -> Node where
Node: ComposeNode + Clone,
pub fn remember<Node>(&mut self, val: Node) -> Node where
Node: ComposeNode + Clone,
pub fn memo<F, Node, S, U, O, Output>(
&mut self,
factory: F,
skip: S,
update: U,
output: O
) -> Output where
F: FnOnce(&mut Composer) -> Node,
Node: ComposeNode,
S: FnOnce(&mut Node) -> bool,
U: FnOnce(&mut Node),
O: FnOnce(&Node) -> Output,
pub fn group<F, Node, C, S, U, O, Output>(
&mut self,
factory: F,
children: C,
skip: S,
update: U,
output: O
) -> Output where
F: FnOnce(&mut Composer) -> Node,
Node: ComposeNode,
C: FnOnce(&mut Composer),
S: FnOnce(&mut Node) -> bool,
U: FnOnce(&mut Node),
O: FnOnce(&Node) -> Output,
pub fn group_apply_children<F, Node, C, Children, AC, S, U, O, Output>(
&mut self,
factory: F,
children: C,
apply_children: AC,
skip: S,
update: U,
output: O
) -> Output where
F: FnOnce(&mut Composer) -> Node,
Node: ComposeNode,
C: FnOnce(&mut Composer) -> Children,
AC: FnOnce(&mut Node, Children),
S: FnOnce(&mut Node) -> bool,
U: FnOnce(&mut Node),
O: FnOnce(&Node) -> Output,
pub fn group_use_children<F, Node, C, UC, S, U, O, Output>(
&mut self,
factory: F,
children: C,
use_children: UC,
skip: S,
update: U,
output: O
) -> Output where
F: FnOnce(&mut Composer) -> Node,
Node: ComposeNode,
C: FnOnce(&mut Composer),
UC: FnOnce(&mut Node, Vec<&dyn ComposeNode>),
S: FnOnce(&mut Node) -> bool,
U: FnOnce(&mut Node),
O: FnOnce(&Node) -> Output,
pub fn slot<F, Node, C, Children, AC, UC, S, U, O, Output>(
&mut self,
factory: F,
children: C,
apply_children: AC,
require_use_children: bool,
use_children: UC,
skip: S,
update: U,
output: O
) -> Output where
F: FnOnce(&mut Composer) -> Node,
Node: ComposeNode,
C: FnOnce(&mut Composer) -> Children,
AC: FnOnce(&mut Node, Children),
UC: FnOnce(&mut Node, Vec<&dyn ComposeNode>),
S: FnOnce(&mut Node) -> bool,
U: FnOnce(&mut Node),
O: FnOnce(&Node) -> Output,
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Composer
impl !Send for Composer
impl !Sync for Composer
impl Unpin for Composer
impl !UnwindSafe for Composer
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Downcast for T where
T: Any,
impl<T> Downcast for T where
T: Any,
sourcefn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait. Read more
sourcefn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait. Read more
sourcefn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s. Read more
sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s. Read more