See also: junction
class reference.
Model of
Description
The junction class can be used to bring in multiple signals, and forward them all to the same set of output signals.
Example
signals::storage<void ()> banger1, banger2; signals::counter<void ()> counter1, counter2; signals::junction<void ()> junction; banger1 >>= junction >>= counter1; banger2 >>= junction >>= counter2; banger1.send(); banger2.send(); BOOST_CHECK_EQUAL(counter1.count(), 2); BOOST_CHECK_EQUAL(counter2.count(), 2); junction.close(); banger1.send(); banger2.send(); BOOST_CHECK_EQUAL(counter1.count(), 2); BOOST_CHECK_EQUAL(counter2.count(), 2); junction.open(); banger1.send(); banger2.send(); BOOST_CHECK_EQUAL(counter1.count(), 4); BOOST_CHECK_EQUAL(counter2.count(), 4);