Struct v9::object::Universe[][src]

pub struct Universe { /* fields omitted */ }

The star of our show! The god object that holds everything.

Implementations

impl Universe[src]

pub fn new() -> Self[src]

pub fn add<T: Any>(&self, key: TypeId, obj: T)[src]

pub fn add_mut<T: Any>(&mut self, key: TypeId, obj: T)[src]

pub fn remove<T: Any>(&self, key: TypeId) -> Option<Box<dyn Any>>[src]

pub fn remove_mut<T: Any>(&mut self, key: TypeId) -> Option<Box<dyn Any>>[src]

pub fn has<T: Any>(&self) -> bool[src]

impl Universe[src]

pub fn all_mut(&mut self, each: impl FnMut(&mut dyn Any))[src]

pub fn all_ref(&self, each: impl FnMut(&dyn Any))[src]

impl Universe[src]

pub fn clone_value<T: Any + Clone>(&self) -> T[src]

pub fn with<T: Any, R>(&self, f: impl FnOnce(&T) -> R) -> R[src]

pub fn with_mut<T: Any, R>(&self, f: impl FnOnce(&mut T) -> R) -> R[src]

pub fn with_obj<R>(&self, ty: TypeId, f: impl FnOnce(&dyn Any) -> R) -> R[src]

pub fn with_obj_mut<R>(
    &self,
    ty: TypeId,
    f: impl FnOnce(&mut dyn Any) -> R
) -> R
[src]

pub fn with_access<R>(
    &self,
    ty: TypeId,
    access: Access,
    f: impl FnOnce(*mut dyn Any) -> R
) -> R
[src]

pub fn lock_state_dump(&self)[src]

impl Universe[src]

pub fn run(&self, kernel: &mut Kernel)[src]

pub fn run_return<Ret: Any>(&self, kernel: &mut Kernel) -> Ret[src]

pub fn run_and_return_into(
    &self,
    kernel: &mut Kernel,
    return_value: &mut dyn Any
)
[src]

pub fn eval<Dump, Ret, K>(&self, k: K) -> Ret where
    K: KernelFnOnce<Dump, Ret>, 
[src]

pub fn kmap<Dump, K>(&self, k: K) where
    K: KernelFn<Dump, ()>,
    K: 'static + Send + Sync,
    Dump: Send + Sync
[src]

Quick & dirty Kernel runner. This is provided to simplify tests.

pub fn kmap_return<Ret, Dump, K>(&self, k: K) -> Ret where
    Ret: Any,
    K: KernelFn<Dump, Ret>,
    K: 'static + Send + Sync,
    Dump: Send + Sync
[src]

impl Universe[src]

pub fn submit_event<E: 'static + Send + Sync>(&self, e: &mut E)[src]

pub fn is_tracked<E: 'static + Send + Sync>(&self) -> bool[src]

pub fn add_tracker<E: 'static + Send + Sync, F: FnMut(&Universe, &mut E) + 'static + Send + Sync>(
    &self,
    f: F
)
[src]

owner should be TypeId::of::<LocalTableMarker>().

impl Universe[src]

pub fn add_index<M: TableMarker, T>(&mut self) where
    T: 'static + Send + Sync + Ord + Copy
[src]

pub fn add_tracker_with_ref_arg<F, Dump, E>(&mut self, f: F) where
    F: KernelFn<Dump, ()>,
    F: 'static + Send + Sync,
    E: Any + Send + Sync,
    Dump: Send + Sync
[src]

pub fn add_tracker_with_mut_arg<F, Dump, E>(&mut self, f: F) where
    F: KernelFn<Dump, ()>,
    F: 'static + Send + Sync,
    E: Any + Send + Sync,
    Dump: Send + Sync
[src]

Trait Implementations

impl Default for Universe[src]

impl Send for Universe[src]

impl Sync for Universe[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<X> ForeignKey for X[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.