boost-signals

    0热度

    2回答

    我收到这样的崩溃: #0 0x90b05955 in __gnu_debug::_Safe_iterator_base::_M_detach #1 0x90b059ce in __gnu_debug::_Safe_iterator_base::_M_attach #2 0x90b05afa in __gnu_debug::_Safe_sequence_base::_M_detach_all

    0热度

    1回答

    我知道boost.asio有一个机制,只要收到数据包就会调用回调函数,但是有一个选项可以发出信号呢? 我必须编写一个发出信号的函数吗? 如果是这样,为什么?

    0热度

    1回答

    这行代码正确编译没有问题: boost::bind(boost::ref(connected_), boost::dynamic_pointer_cast<session<version> >(shared_from_this()), boost::asio::placeholders::error); 然而将其分配给升压::功能或作为这样的回调时: socket_

    54热度

    5回答

    我知道boost.org解决方案中的教程: Boost.org Signals Tutorial,但这些示例并不完整,并且有些过于简化。那里的例子没有显示包含文件,代码的一些部分有些模糊。 以下是我需要: ClassA的引发多个事件/信号 ClassB的订阅这些事件(多个类可以订阅) 在我的项目我有一个较低的水平,消息处理程序类将事件引发到对这些消息进行一些处理并通知UI的业务类(wxFrames

    4热度

    1回答

    在QT,我们可以连接使用下列简单的语法信号和槽: connect(pObject1, signal1, pObject2, slot2) 举例来说,一个可以写类似: A a; B b; a.valueChanged.connect(boost::bind(&B::SetValue, &b, _1)) 恕我直言,升高信号的: A a; B b; connect(&a, SIGNA

    1热度

    1回答

    是否可以阻止从boost.signals库中的信号中删除某些插槽? 如果是的话,做这样的事情的代码应该怎么样?我是否需要为特定信号创建派生类才能这样做?

    9热度

    4回答

    我在当前单线程应用程序中从其他人的库中运行函数Foo。大多数时候,我给Foo打了个电话,这真的很快,有时候,我打电话给Foo,而且这是永远的。我不是一个耐心的人,如果Foo要永远持续下去,我想停止Foo的执行,而不是用这些论点来调用它。 以受控方式调用Foo的最佳方式是什么(我当前的环境是POSIX/C++),这样我可以在几秒钟后停止执行。我觉得在这里做的正确的事情是创建第二个线程来调用Foo,而

    2热度

    3回答

    我正在使用boost库,我的问题是关于boost :: signals。 我有一个信号可能会调用许多不同的插槽,但只有一个插槽将匹配呼叫,所以我想这个特定的插槽返回true,并且呼叫将停止。 可能吗? 效率高吗? 你们可以建议我一个更好的方法来做到这一点,如果它效率不高?

    1热度

    1回答

    有一个信号和几个带插槽的物体。我想在一个对象调用信号并阻止自己的连接时实现这种行为。我想一个小片段会提供更多的信息: typedef boost::signal<void()> TSignal; template<class TSignal> class SlotObject { public: void Connect(boost::shared_ptr<TSigna

    9热度

    2回答

    我在多个地方阅读了Boost.Signals不是线程安全的,但我还没有找到更多关于它的细节。这个简单的引用并没有说太多。现在大多数应用程序都有线程 - 即使它们尝试使用单线程,它们的一些库也可能使用线程(例如libsdl)。 我想实现没有其他线程没有访问插槽的问题。所以在这个意义上,它至少是线程安全的。 但究竟什么工作,什么不会工作?只要我没有同时访问它,它是否可以在多线程中使用它?即如果我在插槽