[#btcsignals-signal] = xref:btcsignals.adoc[btcsignals]::signal :relfileprefix: ../ :mrdocs: Functor for calling zero or more connected callbacks. == Synopsis Declared in `<util/btcsignals.h>` [source,cpp,subs="verbatim,replacements,macros,-callouts"] ---- template< typename Signature, typename Combiner = xref:btcsignals/null_value.adoc[null_value]> class signal; ---- == Type Aliases [cols="1,4"] |=== | Name| Description | xref:btcsignals/signal/result_type.adoc[`result_type`] | The result type of invoking the signal, taken from the combiner. |=== == Member Functions [cols="1,4"] |=== | Name| Description | xref:btcsignals/signal/2constructor-0d.adoc[`signal`] [.small]#[constructor]# | Constructors | xref:btcsignals/signal/2destructor.adoc[`~signal`] [.small]#[destructor]# | Destroy the signal and drop all connection state. | xref:btcsignals/signal/operator_assign-02.adoc[`operator=`] | Assignment operators | xref:btcsignals/signal/connect.adoc[`connect`] | Connect a new callback to the signal. A forwarding callable accepts anything that can be stored in a std::function. | xref:btcsignals/signal/empty.adoc[`empty`] | Returns true if there are no enabled callbacks. | xref:btcsignals/signal/operator_call.adoc[`operator()`] | Execute all enabled callbacks for the signal. Rather than allowing for custom combiners, the behavior of any_of is hard‐coded here. |=== == Template Parameters [cols="1,4"] |=== | Name| Description | *Signature* | The callable signature accepted by connected callbacks. | *Combiner* | The combiner that determines the signal's result type. |=== [.small]#Created with https://www.mrdocs.com[MrDocs]#