See also: multiplexer
class reference.
Model of
Description
The multiplexer class can be used to bring in multiple signals, and forward them all to the same set of output signals.
Example
signals::storage<void (float)> one(1.0f), two(2.0f), collector(-1.0f); signals::multiplexer<void (float)> multiplexer; one >>= multiplexer.slot<1>(); two >>= multiplexer.slot<2>(); multiplexer >>= collector; invoke(one); invoke(two); BOOST_CHECK_EQUAL(collector.at<0>(), -1.0f); multiplexer.select(1); invoke(one); invoke(two); BOOST_CHECK_EQUAL(collector.at<0>(), 1.0f); multiplexer.select(2); invoke(two); invoke(one); BOOST_CHECK_EQUAL(collector.at<0>(), 2.0f);