glib::object

Trait IsA

Source
pub unsafe trait IsA<T: ObjectType>:
    ObjectType
    + Into<T>
    + AsRef<T>
    + Borrow<T> { }
Expand description

Declares the “is a” relationship.

Self is said to implement T.

For instance, since originally GtkWidget is a subclass of GObject and implements the GtkBuildable interface, gtk::Widget implements IsA<glib::Object> and IsA<gtk::Buildable>.

The trait can only be implemented if the appropriate ToGlibPtr implementations exist.

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.

Implementors§

Source§

impl IsA<TypePlugin> for TypeModule

impl IsA<Bin> for Pipeline

impl IsA<ChildProxy> for Bin

impl IsA<Element> for Bin

impl IsA<Element> for Pipeline

impl IsA<Object> for Allocator

impl IsA<Object> for Bin

impl IsA<Object> for Bus

impl IsA<Object> for Clock

impl IsA<Object> for Device

impl IsA<Object> for Element

impl IsA<Object> for GhostPad

impl IsA<Object> for Pad

impl IsA<Object> for Pipeline

impl IsA<Object> for Plugin

impl IsA<Object> for ProxyPad

impl IsA<Object> for Registry

impl IsA<Object> for Stream

impl IsA<Object> for TagSetter

impl IsA<Object> for Task

impl IsA<Object> for TaskPool

impl IsA<Object> for TocSetter

impl IsA<Object> for Tracer

impl IsA<Pad> for GhostPad

impl IsA<Pad> for ProxyPad

impl IsA<Element> for AppSink

impl IsA<Element> for AppSrc

impl IsA<Object> for AppSink

impl IsA<Object> for AppSrc

impl IsA<Element> for AudioSrc

impl IsA<Object> for AudioSink

impl IsA<Object> for AudioSrc

impl IsA<BaseSrc> for AudioSrc

impl IsA<Element> for BaseSink

impl IsA<Element> for BaseSrc

impl IsA<Element> for PushSrc

impl IsA<Object> for BaseParse

impl IsA<Object> for BaseSink

impl IsA<Object> for BaseSrc

impl IsA<Object> for PushSrc

impl IsA<BaseSrc> for PushSrc

impl IsA<Element> for GLFilter

impl IsA<Object> for GLContext

impl IsA<Object> for GLDisplay

impl IsA<Object> for GLFilter

impl IsA<Object> for GLSLStage

impl IsA<Object> for GLShader

impl IsA<Object> for GLUpload

impl IsA<Object> for GLWindow

impl IsA<Object> for Player

impl IsA<Object> for VideoSink

impl IsA<Bin> for ServoSrc

impl IsA<Element> for ServoSrc

impl IsA<Object> for ServoSrc