Skip to content

rikdev/channels

Repository files navigation

Channels

Build status codecov

The Channels library is an extended implementation of a managed signals/slots system and is used for communication between threads. The library includes types like channel, buffered_channel, aggregating_channel and helpers for working with them.

The class channel implements a traditional signals/slots system (like Qt signals) where some set of callbacks are connected to the channel and callbacks are called when the transmitter sent the value to the channel.

The class buffered_channel is similar to channel but it stores the last value sent. Unlike std::future, buffered_channel allows to pass more than one value.

The class aggregating_channel is similar to channel but it passes returned values from callbacks back to the transmitter (like Boost.Signals2).

If your program uses executors, this library can be easily integrated with them.

About

Another C++ signal/slot library

Resources

License

Stars

Watchers

Forks

Packages

No packages published