boost-signals相关内容

如何在 C++/CLI 中使用 boost::bind 绑定托管类的成员

我在本机 C++ 类中使用 boost::signal,现在我正在 C++/CLI 中编写一个 .NET 包装器,以便我可以将本机 C++ 回调公开为 .NET 事件.当我尝试使用 boost::bind 获取托管类的成员函数的地址时,我收到编译器错误 3374,说除非我创建委托实例,否则我无法获取成员函数的地址.有谁知道如何使用 boost::bind 绑定托管类的成员函数? 为澄清起见, ..
发布时间:2022-01-18 12:40:05 其他开发

Qt 信号可以返回一个值吗?

Boost.Signals 允许 各种策略使用槽的返回值来形成信号的返回值.例如.将它们相加,形成一个 vector,或者返回最后一个. 常识(在 Qt 文档[编辑: 以及对这个问题的一些答案] 中表达)是 Qt 信号不可能做到这一点. 但是,当我在以下类定义上运行 moc 时: class Object : public QObject {Q_OBJECT民众:显式对象( QObj ..
发布时间:2021-12-09 16:51:12 C/C++开发

使用带有-D_GLIBCXX_DEBUG编译器标志的boost :: signal时的segfault

我正在使用g ++进行构建,昨天,一个关于SO的乐于助人的人告诉我使用-D_GLIBCXX_DEBUG和-D_GLIBCXX_DEBUG_PEDANTIC标志进行编译.我这样做了,昨天我花了大部分时间来调整我的代码以符合这些标志.现在,它正在抱怨我使用boost::signal,而且我不确定问题出在哪里. 我有一个类Yarl,它具有要与另一个类EventHandler中的信号sigRefre ..
发布时间:2020-07-18 20:45:00 C/C++开发

增强信号连接管理

在过去的两个晚上,我一直在head头,试图解决这个问题,但没有取得积极的结果.事情是这样的,在升压信号中,每次我想将一个类的成员函数连接到另一个类的信号时,如果要稍后断开连接,就必须将结果连接保存在变量中.如果稍后,我想将相同的成员函数连接到其他某个类信号(该成员函数仍与先前的类信号连接),我必须保存此新连接以便对其进行管理.我的问题是,有什么办法可以避免这种情况? 解决方案 您不需要保留 ..
发布时间:2020-07-18 20:43:52 C/C++开发

有没有办法将升压信号直接连接到另一个信号?

我想知道是否有更好的方法将一类的Boost信号直接连接到另一类的信号? 例如,想象一个 facade类,其中有许多成员提供自己的信号.现在假设立面要暴露这些信号.我通常最终会编写样板方法,然后将其作为信号处理程序进行连接. using namespace boost::signal; class A { public: A(){}; virtual ~A(){}; si ..
发布时间:2020-07-18 20:43:48 C/C++开发

如何在C ++ / CLI中使用boost :: bind绑定托管类的成员

我在本机C ++类中使用了boost :: signal,现在我正在C ++ / CLI中编写一个.NET包装器,这样我就可以将本机C ++回调公开为.NET事件。当我尝试使用boost :: bind取代我的托管类的成员函数的地址时,我收到编译器错误3374,除非我正在创建一个委托实例,否则我无法使用成员函数的地址。有没有人知道如何使用boost :: bind绑定托管类的成员函数? 为了 ..
发布时间:2017-04-22 20:27:24 开发方法

如何在C ++ / CLI中使用boost :: bind绑定托管类的成员

我在本地C ++类中使用boost :: signal,现在我在C ++ / CLI中编写一个.NET包装器,以便将本机C ++回调作为.NET事件公开。当我尝试使用boost :: bind获取我的托管类的成员函数的地址,我得到编译器错误3374,说我不能取成员函数的地址,除非我创建一个委托实例。有没有人知道如何使用boost :: bind绑定托管类的成员函数? 为了说明,下面的示例代码 ..
发布时间:2016-11-06 12:42:49 C/C++

c ++ Netbeans 7.2.1正确链接boost库

我最近从visual studio 2010 express切换到使用NetBeans,我已经非常印象深刻的布局和简单性,即使它需要一点微调编译正确。但是,我有另一个问题。当我测试看看boost是否会工作,我包括文件boost / signals.hpp在main.cpp然后去到项目选项中的额外的库目录,并添加了我的boost安装的lib目录,同我会在视觉工作室。毕竟,我得到一堆未定义的引用。 ..
发布时间:2016-11-01 22:51:41 C/C++开发

有没有办法停止一个boost ::信号从调用其槽,如果其中一个返回true?

我正在使用boost库,我的问题是关于boost ::信号。 我有一个信号可能调用许多不同的插槽,但只有一个插槽将匹配调用所以我想让这个特定的槽返回true,调用将停止。 是否可能? 它是否有效? 你能建议我更好的方法来做它,如果它不高效? 解决方案 经过一些研究,我发现在boost文档中他们写了返回值的插槽。 他们建议使用不同的组合器如下: stru ..
发布时间:2016-10-25 14:02:13 C/C++开发

信号与信号2

应用程序是多线程的,但执行信号处理的部分是单一的线程。 如果多线程不是问题,有没有理由更喜欢Boost.Signals2和Boost.Signal2? 解决方案 Boost.Signals现在已被弃用,应该使用Boost.Signals2(参见 v1.54文档) ..
发布时间:2016-10-24 12:53:08 C/C++开发

信号与信号2

应用程序是多线程的,但执行信号处理的部分是单一的线程。 如果多线程不是问题,有没有理由更喜欢Boost.Signals2和Boost.Signal2? 解决方案 Boost.Signals现在已被弃用,应该使用Boost.Signals2(参见 v1.54文档) ..
发布时间:2016-10-24 12:42:02 C/C++开发

我可以使用Boost Signals2和Threads在C ++中创建一个软件看门狗定时器线程吗?

我在当前的单线程应用程序中从其他人的库运行函数Foo。大多数时候,我打电话给Foo,它真的很快,有时,我打电话给Foo,它需要永远。我不是一个耐心的男人,如果Foo会永远,我想停止执行Foo,而不是用这些参数调用。 什么是最好的方法以受控的方式调用Foo(我当前的环境是POSIX / C ++),这样我可以在一定秒数后停止执行。我觉得在这里做的正确的事情是创建第二个线程调用Foo,而在我的主 ..
发布时间:2016-10-13 11:32:12 C/C++开发

Qt信号能否返回值?

Boost.Signals 允许使用槽的返回值形成的各种策略信号的返回值。例如。添加它们,形成一个向量,或返回最后一个。 共同的智慧Qt文档 [EDIT:以及此问题] 的一些答案)是没有这样的事情是可能与Qt信号。 但是,当我对下面的类定义运行moc: class Object:public QObject { Q_OBJECT public: explicit Obj ..
发布时间:2016-10-13 10:28:53 C/C++开发

使用Boost :: Signals for C ++ Eventing的完整示例

我知道在boost.org的教程解决这个问题: Boost.org信号教程,但示例不完整,有点过于简化。 这里是我需要的: br> ClassA引发多个事件/信号 ClassB订阅这些事件(多个类可以订阅) 在我的项目中一个较低级别的消息处理程序类,它将事件引发到对这些消息进行一些处理并通知UI(wxFrames)的业务类。 解决方案 下面的代码是您要求的最小工作示例 ..
发布时间:2016-10-11 23:25:07 C/C++开发

如何经常从boost ::信号得到::可追踪?

在使用Boost.Signals,升压允许您从的boost ::信号::可追踪为了缓解对象/连接生命周期管理(见的 Boost文档)。 我在我的项目的早期阶段,我想,无论是从的boost ::信号::可追踪在派生 每一个新的类我写的,可能在未来使用Boost.Signals 或仅在课堂上,我相信,他们需要的功能的可追踪 BAS E级 有关届第一种方法的主要原因将是prevent我忘 ..
发布时间:2016-08-12 18:57:10 C/C++开发

如何使一个C ++的boost ::信号从封装发射它的对象的对象捕捉?

我有一个 TcpDevice 类,它封装了TCP连接,其中有一个的 onRemoteDisconnect 的方法,每当远端挂断它被调用。然后,有一个是SessionManager 对象,它创建的 TcpSession 对象而采取的 TcpDevice 作为通信信道,将它们插入一个内部指针容器应用程序使用。在情况下,任何的管理 TcpSessions 应该结束了,我想在是SessionManager ..
发布时间:2016-08-12 18:27:46 C/C++开发