Struct qmetaobject::connections::Signal[][src]

pub struct Signal<Args> { /* fields omitted */ }

High-level typed wrapper for a pointer to a C++/Qt signal.

While low-level SignalInner operated on pointers to ‘erased’ member functions types, this struct adds type-safe behavior on top of that.

Args is a type that matches the argument of the signal.

For example, a C++ signal with signature void (MyType::*)(int, QString) will be represented by the Signal<fn(int, QString)> type.

Implementations

impl<Args> Signal<Args>[src]

pub unsafe fn new(inner: SignalInner) -> Self[src]

Wraps low-level type-erased signal representation in a high-level types wrapper.

Safety

Caller must ensure that number, types and order of arguments strictly matches between signal represented by inner and Args. Passing incorrect information may result in Undefined Behavior.

Example

fn object_name_changed() -> Signal<fn(QString)> {
    unsafe {
        Signal::new(cpp!([] -> SignalInner as "SignalInner"  {
            return &QObject::objectNameChanged;
        }))
    }
}

Trait Implementations

impl<Args> Clone for Signal<Args>[src]

impl<Args> Copy for Signal<Args>[src]

Auto Trait Implementations

impl<Args> RefUnwindSafe for Signal<Args> where
    Args: RefUnwindSafe

impl<Args> Send for Signal<Args> where
    Args: Send

impl<Args> Sync for Signal<Args> where
    Args: Sync

impl<Args> Unpin for Signal<Args> where
    Args: Unpin

impl<Args> UnwindSafe for Signal<Args> where
    Args: UnwindSafe

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<T> From<T> for T[src]

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

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

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.