![]() |
Home | Libraries | People | FAQ | More |
See also: junction
class reference.
The junction class can be used to bring in multiple signals, and forward them all to the same set of output signals.
Table 1.15. storage class use example
|
fused |
unfused |
|---|---|
|
signals::storage<void (), signals::fused> banger1, banger2; signals::counter<void (), signals::fused> counter1, counter2; signals::junction<void (), signals::fused> junction; banger1 >>= junction >>= counter1; banger2 >>= junction >>= counter2; banger1(); banger2(); BOOST_CHECK_EQUAL(counter1.count(), 2); BOOST_CHECK_EQUAL(counter2.count(), 2); junction.disable(); banger1(); banger2(); BOOST_CHECK_EQUAL(counter1.count(), 2); BOOST_CHECK_EQUAL(counter2.count(), 2); junction.enable(); banger1(); banger2(); BOOST_CHECK_EQUAL(counter1.count(), 4); BOOST_CHECK_EQUAL(counter2.count(), 4);
|
signals::storage<void (), signals::unfused> banger1, banger2; signals::counter<void (), signals::unfused> counter1, counter2; signals::junction<void (), signals::unfused> junction; banger1 >>= junction >>= counter1; banger2 >>= junction >>= counter2; banger1.send(); banger2.send(); BOOST_CHECK_EQUAL(counter1.count(), 2); BOOST_CHECK_EQUAL(counter2.count(), 2); junction.disable(); banger1.send(); banger2.send(); BOOST_CHECK_EQUAL(counter1.count(), 2); BOOST_CHECK_EQUAL(counter2.count(), 2); junction.enable(); banger1.send(); banger2.send(); BOOST_CHECK_EQUAL(counter1.count(), 4); BOOST_CHECK_EQUAL(counter2.count(), 4);
|
| Copyright © 2007 Stjepan Rajko |