20 #ifndef INCLUDE_FKIE_MESSAGE_FILTERS_SOURCE_IMPL_H_ 21 #define INCLUDE_FKIE_MESSAGE_FILTERS_SOURCE_IMPL_H_ 29 template<
typename... Outputs>
32 std::lock_guard<std::mutex> lock(dst.mutex_);
33 Connection c = signal_.connect_extended([&dst](
const Connection& conn,
const Outputs&... out) { dst.receive_cb(conn, out...); });
34 dst.conn_.push_back(c);
38 template<
typename... Outputs>
41 signal_.disconnect_all_slots();
44 template<
typename... Outputs>
47 disconnect_from_all_sinks();
50 template<
typename... Outputs>
Base class for data consumers.
boost::signals2::connection Connection
Tracks connections from sources to sinks.
Base class for data providers.
void disconnect_from_all_sinks() noexcept
Disconnect from all connected sinks.
Connection connect_to_sink(Sink< Outputs... > &dst) noexcept
Connect this source to a sink.