pub struct HandlerTemplate<K: Blueprint>{ /* private fields */ }Expand description
Resolve-once template for context-free handlers.
Created from a named function + Registry. Calling
generate stamps out TemplatedHandlers by
copying pre-resolved state — no registry lookups, no validation.
§Examples
use nexus_rt::{WorldBuilder, ResMut, Handler};
use nexus_rt::template::{Blueprint, HandlerTemplate};
struct OnTick;
impl Blueprint for OnTick {
type Event = u32;
type Params = (ResMut<'static, u64>,);
}
fn tick(mut counter: ResMut<u64>, event: u32) {
*counter += event as u64;
}
let mut builder = WorldBuilder::new();
builder.register::<u64>(0);
let world = builder.build();
let template = HandlerTemplate::<OnTick>::new(tick, world.registry());
let mut h1 = template.generate();
let mut h2 = template.generate();
// Both share pre-resolved ResourceIds — no redundant lookups.Implementations§
Source§impl<K: Blueprint> HandlerTemplate<K>
impl<K: Blueprint> HandlerTemplate<K>
Sourcepub fn new<F>(f: F, registry: &Registry) -> Self
pub fn new<F>(f: F, registry: &Registry) -> Self
Create a template from a named function.
Resolves all parameters from the registry and validates access.
F must be a ZST (named function item) — closures and function
pointers are rejected at compile time.
§Panics
- If any required resource is not registered.
- If params have conflicting access (same resource twice).
Sourcepub fn generate(&self) -> TemplatedHandler<K>
pub fn generate(&self) -> TemplatedHandler<K>
Stamp out a new handler by copying pre-resolved state.
Auto Trait Implementations§
impl<K> Freeze for HandlerTemplate<K>
impl<K> RefUnwindSafe for HandlerTemplate<K>
impl<K> Send for HandlerTemplate<K>
impl<K> Sync for HandlerTemplate<K>
impl<K> Unpin for HandlerTemplate<K>
impl<K> UnsafeUnpin for HandlerTemplate<K>
impl<K> UnwindSafe for HandlerTemplate<K>
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