Data

Trait Data 

Source
pub trait Data:
    DataTrait
    + Serialize
    + Debug
    + DowncastSync
    + Send
    + Sync {
    // Required method
    fn descriptor(&self) -> Arc<dyn Data>;
}

Required Methods§

Source

fn descriptor(&self) -> Arc<dyn Data>

Implementations§

Source§

impl dyn Data

Source

pub fn is<__T>(&self) -> bool
where __T: Data,

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

Source

pub fn downcast<__T>(self: Box<dyn Data>) -> Result<Box<__T>, Box<dyn Data>>
where __T: Data,

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.

Source

pub fn downcast_rc<__T>(self: Rc<dyn Data>) -> Result<Rc<__T>, Rc<dyn Data>>
where __T: Data,

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.

Source

pub fn downcast_ref<__T>(&self) -> Option<&__T>
where __T: Data,

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

Source

pub fn downcast_mut<__T>(&mut self) -> Option<&mut __T>
where __T: Data,

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

Source

pub fn downcast_arc<__T>(self: Arc<dyn Data>) -> Result<Arc<__T>, Arc<dyn Data>>
where __T: Data + Any + Send + Sync,

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.

Trait Implementations§

Source§

impl<'erased> Serialize for dyn Data + 'erased

Source§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'erased> Serialize for dyn Data + Send + 'erased

Source§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'erased> Serialize for dyn Data + Sync + Send + 'erased

Source§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl<'erased> Serialize for dyn Data + Sync + 'erased

Source§

fn serialize<S>( &self, serializer: S, ) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>
where S: Serializer,

Serialize this value into the given Serde serializer. Read more

Implementors§