[−][src]Macro revent::node
Generate an intermediate node in the signal chain.
The macro invocation
ⓘThis example is not tested
use revent::node; node! { HubName { signal_name_1: X, signal_name_2: Y, } => MyNode(Handler) { signal_name_3: Z, } }
generates the code
ⓘThis example is not tested
struct MyNode { ... } impl MyNode { pub fn subscribe<T>(&mut self, input: T::Input) -> ::std::rc::Rc<::std::cell::RefCell<T>> where T: revent::Nodified + revent::Selfscriber<Self> + revent::Subscriber, T::Node: for<'a> From<&'a Self>, { ... } pub fn signal_name_3(&mut self) -> &mut revent::Signal<dyn Z> { ... } } impl From<&'_ HubName> for MyNode { fn from(item: &HubName) -> Self { ... } } impl revent::Selfscriber<HubName> for MyHandler { fn name() -> &'static str { ... } fn type_id() -> TypeId { ... } fn selfscribe(holder: &HubName, item: Rc<RefCell<Self>>) { ... } } impl revent::Nodified for MyHandler { type Node = MyNode; }