[#btcsignals]
= btcsignals
:mrdocs:

btcsignals is a simple mechanism for signaling events to multiple subscribers&period; It is api&hyphen;compatible with a minimal subset of boost&colon;&colon;signals2&period;

== Description

Rather than using a custom slot type, and the features&sol;complexity that they imply, std&colon;&colon;function is used to store the callbacks&period; Lifetime management of the callbacks is left up to the user&period;

All usage is thread&hyphen;safe except for interacting with a connection while copying&sol;moving it on another thread&period;

== Types

[cols="1,4"]
|===
| Name| Description
| xref:btcsignals/any_of.adoc[`any&lowbar;of`] 
| A combiner, which checks if at least one callback returned true&period;
| xref:btcsignals/connection.adoc[`connection`] 
| State object representing the liveness of a registered callback&period; signal&colon;&colon;connect() returns an enabled connection which can be held and disabled in the future&period;
| xref:btcsignals/null_value.adoc[`null&lowbar;value`] 
| The default combiner, which only returns void&period;
| xref:btcsignals/scoped_connection.adoc[`scoped&lowbar;connection`] 
| RAII&hyphen;style connection management that disconnects on destruction&period;
| xref:btcsignals/signal.adoc[`signal`] 
| Functor for calling zero or more connected callbacks&period;
|===



[.small]#Created with https://www.mrdocs.com[MrDocs]#
