signal_selector Class Template Reference
[Utility]

#include <signal_selector.hpp>


Detailed Description

template<int Inputs, typename Signature>
class ame::signal_selector< Inputs, Signature >

Allows selection of signals from multiple inputs.

This can be used to determine which signal out of a group of signals will continue through the selector (the others will not be forwarded).

Example:

void selector_test()
{
        SignalVoid banger;
        SignalFloat floater1(1.0f), floater2(2.0f);
        SignalFloatCollector collector;
        signal_selector<2, void (float)> selector;

        banger >>= floater1 >>= slot_selector<void(float)>(selector, &signal_selector<2, void (float)>::input1);
        banger >>= floater2 >>= slot_selector<void(float)>(selector, &signal_selector<2, void (float)>::input2);
        selector >>= collector;

        selector.select(0);
        banger.Bang();
        BOOST_CHECK(collector.GetLast() == optional<float>());

        selector.select(1);
        banger.Bang();
        BOOST_CHECK(collector.GetLast() == optional<float>(1.0f));

        selector.select(2);
        banger.Bang();
        BOOST_CHECK(collector.GetLast() == optional<float>(2.0f));
} // end void selector_test()


The documentation for this class was generated from the following file:
Generated on Tue Mar 6 17:57:23 2007 for AME Repository by  doxygen 1.5.1-p1