Trait LiveNew

Source
pub trait LiveNew: LiveApply {
    // Required methods
    fn new(cx: &mut Cx) -> Self;
    fn live_type_info(cx: &mut Cx) -> LiveTypeInfo;

    // Provided methods
    fn live_design_with(_cx: &mut Cx) { ... }
    fn new_apply(
        cx: &mut Cx,
        from: ApplyFrom,
        index: usize,
        nodes: &[LiveNode],
    ) -> Self
       where Self: Sized { ... }
    fn new_apply_mut_index(
        cx: &mut Cx,
        from: ApplyFrom,
        index: &mut usize,
        nodes: &[LiveNode],
    ) -> Self
       where Self: Sized { ... }
    fn new_from_ptr(cx: &mut Cx, live_ptr: Option<LivePtr>) -> Self
       where Self: Sized { ... }
    fn new_main(cx: &mut Cx) -> Self
       where Self: Sized { ... }
    fn update_main(&mut self, cx: &mut Cx) { ... }
    fn new_local(cx: &mut Cx) -> Self
       where Self: Sized { ... }
    fn new_from_module(
        cx: &mut Cx,
        module_id: LiveModuleId,
        id: LiveId,
    ) -> Option<Self>
       where Self: Sized { ... }
    fn update_from_module(
        &mut self,
        cx: &mut Cx,
        module_id: LiveModuleId,
        id: LiveId,
    ) { ... }
}

Required Methods§

Source

fn new(cx: &mut Cx) -> Self

Source

fn live_type_info(cx: &mut Cx) -> LiveTypeInfo

Provided Methods§

Source

fn live_design_with(_cx: &mut Cx)

Source

fn new_apply( cx: &mut Cx, from: ApplyFrom, index: usize, nodes: &[LiveNode], ) -> Self
where Self: Sized,

Source

fn new_apply_mut_index( cx: &mut Cx, from: ApplyFrom, index: &mut usize, nodes: &[LiveNode], ) -> Self
where Self: Sized,

Source

fn new_from_ptr(cx: &mut Cx, live_ptr: Option<LivePtr>) -> Self
where Self: Sized,

Source

fn new_main(cx: &mut Cx) -> Self
where Self: Sized,

Source

fn update_main(&mut self, cx: &mut Cx)

Source

fn new_local(cx: &mut Cx) -> Self
where Self: Sized,

Source

fn new_from_module( cx: &mut Cx, module_id: LiveModuleId, id: LiveId, ) -> Option<Self>
where Self: Sized,

Source

fn update_from_module( &mut self, cx: &mut Cx, module_id: LiveModuleId, id: LiveId, )

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementations on Foreign Types§

Source§

impl LiveNew for bool

Source§

fn live_design_with(_cx: &mut Cx)

Source§

fn new(_cx: &mut Cx) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Source§

impl LiveNew for f32

Source§

fn live_design_with(_cx: &mut Cx)

Source§

fn new(_cx: &mut Cx) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Source§

impl LiveNew for f64

Source§

fn live_design_with(_cx: &mut Cx)

Source§

fn new(_cx: &mut Cx) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Source§

impl LiveNew for i32

Source§

fn live_design_with(_cx: &mut Cx)

Source§

fn new(_cx: &mut Cx) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Source§

impl LiveNew for i64

Source§

fn live_design_with(_cx: &mut Cx)

Source§

fn new(_cx: &mut Cx) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Source§

impl LiveNew for u32

Source§

fn live_design_with(_cx: &mut Cx)

Source§

fn new(_cx: &mut Cx) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Source§

impl LiveNew for usize

Source§

fn live_design_with(_cx: &mut Cx)

Source§

fn new(_cx: &mut Cx) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Source§

impl LiveNew for String

Source§

fn live_design_with(_cx: &mut Cx)

Source§

fn new(_cx: &mut Cx) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Source§

impl<T> LiveNew for Option<T>
where T: LiveApply + LiveNew + 'static,

Source§

fn new(_cx: &mut Cx) -> Self

Source§

fn new_apply( cx: &mut Cx, from: ApplyFrom, index: usize, nodes: &[LiveNode], ) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Source§

impl<T> LiveNew for Arc<T>
where T: LiveApply + LiveNew + 'static + LiveAtomic,

Source§

fn new(cx: &mut Cx) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Source§

impl<T> LiveNew for Vec<T>
where T: LiveApply + LiveNew + 'static,

Source§

fn new(_cx: &mut Cx) -> Self

Source§

fn new_apply( cx: &mut Cx, from: ApplyFrom, index: usize, nodes: &[LiveNode], ) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Source§

impl<T, const N: usize> LiveNew for [T; N]
where T: LiveApply + LiveNew + 'static,

Source§

fn new(cx: &mut Cx) -> Self

Source§

fn new_apply( cx: &mut Cx, from: ApplyFrom, index: usize, nodes: &[LiveNode], ) -> Self

Source§

fn live_type_info(_cx: &mut Cx) -> LiveTypeInfo

Implementors§