Struct qmetaobject::connections::Signal [−][src]
pub struct Signal<Args> { /* fields omitted */ }
Expand description
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
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
use cpp::cpp; use qmetaobject::*; fn object_name_changed() -> Signal<fn(QString)> { unsafe { Signal::new(cpp!([] -> SignalInner as "SignalInner" { return &QObject::objectNameChanged; })) } }
Trait Implementations
Auto Trait Implementations
impl<Args> RefUnwindSafe for Signal<Args> where
Args: RefUnwindSafe,
impl<Args> UnwindSafe for Signal<Args> where
Args: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more