使用Hypodermic和Boost.Signals2

时间:2013-02-02 02:52:28

标签: signals-slots boost-signals boost-signals2 hypodermic

为了将Boost.Signals2与Hypodermic一起使用,我将如何连接插槽?我会将连接代码放在OnActivating块中吗?

即使Hypodermic是使用Signals2构建的,我还是认为他们没有重复彼此的功能吗?

1 个答案:

答案 0 :(得分:2)

连接OnActivating中的信号不会“触发”信号;也就是说,不会调用你的信号代表。

但是,当然,你可以做这样的事情来使其发挥作用:

mySignal.connect([](std::shared_ptr< Foo > foo)
{
    // do some stuff with Foo being activated
}); 

builder.autowireType< Foo >()->onActivating(
    [&mySignal](IActivatingData< Foo >& data)
    {
        // invoke all delegates...
        mySignal(data.instance());
    }
);

希望有所帮助。