![]() |
Home | Libraries | People | FAQ | More |
More complex connections can also be made relatively easily using both
operator >>=
and operator |,
with operator |
being used for branching.
Table 1.6. branching example
|
fused |
unfused |
|---|---|
|
signals::storage<void (), signals::fused> banger; signals::counter<void (), signals::fused> counter; signals::storage<void (float), signals::fused> floater(2.5f); signals::storage<void (float), signals::fused> collector(0.0f); banger // floater connects to collector, banger to floater.send_slot() | (floater.send_slot() >>= collector) | counter; // and banger to counter banger(); BOOST_CHECK_EQUAL(counter.count(), 1); BOOST_CHECK_EQUAL(collector.at<0>(), 2.5f);
|
signals::storage<void (), signals::unfused> banger; signals::counter<void (), signals::unfused> counter; signals::storage<void (float), signals::unfused> floater(2.5f); signals::storage<void (float), signals::unfused> collector(0.0f); banger // floater connects to collector, banger to floater.send_slot() | (floater.send_slot() >>= collector) | counter; // and banger to counter banger(); BOOST_CHECK_EQUAL(counter.count(), 1); BOOST_CHECK_EQUAL(collector.at<0>(), 2.5f);
|
| Copyright © 2007 Stjepan Rajko |