[#BloombergLP-bdlmt-Signaler] = xref:BloombergLP.adoc[BloombergLP]::xref:BloombergLP/bdlmt.adoc[bdlmt]::Signaler :relfileprefix: ../../ :mrdocs: Thread‐safe signaler that invokes connected slots via its call operator. == Synopsis Declared in `<bdlmt_signaler.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template<class t_PROT> class Signaler : public xref:BloombergLP/bdlmt/Signaler_Invocable-03.adoc[Signaler_Invocable<Signaler<t_PROT>, t_PROT>] ---- == Description This class template provides a thread‐safe signaler that executes connected slots when invoked via its call operator. `t_PROT` is a function signature and must have a return type of `void`. The callable objects assigned to the slots may have return types other than `void`, in which case their return values will be discarded. == Base Classes [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bdlmt/Signaler_Invocable-03.adoc[Signaler_Invocable<Signaler<t_PROT>, t_PROT>]` | Provides a call operator for the derived class `bdlmt::Signaler`, such that its call signature is identical to that of `t_PROT`. |=== == Type Aliases [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlmt/Signaler/ResultType.adoc[`ResultType`] | Result type of `operator()`; slot return values are discarded. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:BloombergLP/bdlmt/Signaler/2constructor.adoc[`Signaler`] [.small]#[constructor]# | Create a `Signaler` with no connected slots. | xref:BloombergLP/bdlmt/Signaler/2destructor.adoc[`~Signaler`] [.small]#[destructor]# | Destroy this object. Call `disconnectAllSlots()`. The behavior is undefined if this function is invoked from a slot connected to this signaler. | xref:BloombergLP/bdlmt/Signaler/connect.adoc[`connect`] | Connect `slot` to this signaler, optionally in `group`. | xref:BloombergLP/bdlmt/Signaler/disconnectAllSlots.adoc[`disconnectAllSlots`] | Disconnect all slots connected to this signaler without waiting. | xref:BloombergLP/bdlmt/Signaler/disconnectAllSlotsAndWait.adoc[`disconnectAllSlotsAndWait`] | Disconnect all slots and wait for in‐progress signals to finish. | xref:BloombergLP/bdlmt/Signaler/disconnectGroup.adoc[`disconnectGroup`] | Disconnect all slots in `group` without waiting. | xref:BloombergLP/bdlmt/Signaler/disconnectGroupAndWait.adoc[`disconnectGroupAndWait`] | Disconnect all slots in `group` and wait for in‐progress signals. | xref:BloombergLP/bdlmt/Signaler/slotCount.adoc[`slotCount`] | Return the number of slots connected to this signaler. | xref:BloombergLP/bdlmt/Signaler/2conversion.adoc[`operator BloombergLP::bslmf::NestedTraitDeclaration<Signaler, UsesBslmaAllocator>`] | Declare that this type uses `bslma` allocators. |=== == Friends [cols="1,4"] |=== | Name| Description | `xref:BloombergLP/bdlmt/Signaler_Invocable-03.adoc[BloombergLP::bdlmt::Signaler_Invocable]` | Provides a call operator for the derived class `bdlmt::Signaler`, such that its call signature is identical to that of `t_PROT`. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#