Trait bpxe::data_object::DataObject[][src]

pub trait DataObject: DowncastSync + Send + Sync + DynClone + 'static {
    fn try_send(
        &mut self,
        value: Box<dyn DataObject>
    ) -> Result<(), Box<dyn DataObject>> { ... } }

Provided methods

fn try_send(
    &mut self,
    value: Box<dyn DataObject>
) -> Result<(), Box<dyn DataObject>>
[src]

Try sending in a data object into this data object

If implementation is able to handle it, it should return Ok(()), otherwise it should return value through Err(value).

This function is used primarily by DataObjectExt implementation for Box<dyn DataObject>. If try_send returns Err, DataObjectExt::send will overwrite the box's value with the given value.

Default implementation returns Err(value).

Loading content...

Implementations

impl dyn DataObject[src]

pub fn is<__T: DataObject>(&self) -> bool[src]

Returns true if the trait object wraps an object of type __T.

pub fn downcast<__T: DataObject>(self: Box<Self>) -> Result<Box<__T>, Box<Self>>[src]

Returns a boxed object from a boxed trait object if the underlying object is of type __T. Returns the original boxed trait if it isn't.

pub fn downcast_rc<__T: DataObject>(self: Rc<Self>) -> Result<Rc<__T>, Rc<Self>>[src]

Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of type __T. Returns the original Rc-ed trait if it isn't.

pub fn downcast_ref<__T: DataObject>(&self) -> Option<&__T>[src]

Returns a reference to the object within the trait object if it is of type __T, or None if it isn't.

pub fn downcast_mut<__T: DataObject>(&mut self) -> Option<&mut __T>[src]

Returns a mutable reference to the object within the trait object if it is of type __T, or None if it isn't.

pub fn downcast_arc<__T: DataObject>(
    self: Arc<Self>
) -> Result<Arc<__T>, Arc<Self>> where
    __T: Any + Send + Sync
[src]

Returns an Arc-ed object from an Arc-ed trait object if the underlying object is of type __T. Returns the original Arc-ed trait if it isn't.

Implementations on Foreign Types

impl DataObject for Value[src]

Loading content...

Implementors

impl DataObject for Collection[src]

impl DataObject for Empty[src]

impl<T: Send + Sync + Clone + 'static> DataObject for Container<T>[src]

Loading content...