草庐IT

BOOST_STRINGIZE

全部标签

c++ - 是否有用于 boost::asio 的 UDT 后端?

请告诉我是否存在用于boost::asio的UDT协议(protocol)后端?UDT是一种可靠的基于UDP的应用程序级数据传输协议(protocol),适用于广域高速网络上的分布式数据密集型应用程序。(http://udt.sourceforge.net/index.html) 最佳答案 Boost.Asio支持TCP、UDP和ICMP。其他协议(protocol)可以通过extending实现协议(protocol)typerequirements.有severalthreads在asio-users邮件列表中讨论添加对SCTP

c++ - boost-units - 使用无量纲类型的任意系统

我正在尝试用这样的boost单元制作一个维度vector类,//vectorwillbeconstructedvecv(10,1.0*si::metre);templateclassvec{public://constructorsettingallvaluestoq.vec(constsize_t,constboost::units::quantityq)//etc}除了执行元素明智的乘法和除法的operator*=和operator/=外,一切正常。由于这些不会改变维度,因此它们仅在乘以/除以无量纲量时才有意义:我正在努力寻找未锁定在特定系统(例如si或cgs单位)中的任意无量纲量

c++ - 有人可以帮我使用 Boost::MPL 创建一个变量容器吗?

我创建了一个物理系统来处理任何碰撞对象到任何碰撞对象,如下所示:namespaceCollision{templateinlinevoidCheck(T&t,U&u){if(u.CheckCollision(t.GetCollider())){u.HitBy(t);t.Hit(u);}}}还有其他几个helperobjects使其易于使用,但要点是有动态对象需要针对静态对象和其他动态对象进行测试,但静态对象不需要检查。我想要的是这样的:voidfunc(){PhysicsWorldworld;shared_ptrballPhysics(newCSphere(0,0,ballSprite

c++ - 通过 boost::python 将 C++ 对象传递给 python 函数

我想在C++应用程序中使用嵌入的Python并调用Python脚本中定义的函数。该函数的参数是一个C++对象。查看我的代码:classTest{public:voidf(){std::cout(newTest()));//compileerrorfoo(pyo);}return0;}python2.py:deffoo(o):o.f()如何将C++对象传递给foo?我知道swig可以做到这一点,但是boost::python? 最佳答案 已解决。classTest{public:voidf(){std::cout("Test").de

c++ - 你如何区分取消和重新触发的 boost deadline_timer

当您在运行的计时器上调用expires_from_now()时,定时器被取消,并调用一个新的定时器。因此调用关联的处理程序。在处理程序中很容易区分在已取消和已过期的计时器之间。然而,我想知道,是否有一种方法可以区分在过期和重新触发的计时器之间。在这两种情况下,处理程序都被调用带有错误代码operation_aborted。或者我可能遗漏了一些细节。下面的代码生成以下输出:2012041521:32:28079507Main:Timer1setto15s.2012041521:32:28079798Main:Timer1setto12s.2012041521:32:28079916Han

c++ - boost::asio::tcp::socket 关闭并取消而不调用处理程序

我正在用boost的asio库编写一个服务器。服务器使用一组连接对象(围绕boost::asio::tcp::socket的包装类)处理许多并发连接。在Connection类中,使用socket.async_read_some(...)不断读取套接字,每当使用新数据调用读取处理程序时,都会立即再次调用socket.async_read_some()以读取更多数据。现在,服务器可能会因为某种原因决定断开客户端连接,所以自然而然的做法是调用connection.close(),它又调用socket.close(),这将导致所有挂起的异步操作被取消。这导致读取处理程序(绑定(bind)到类C

c++ - Boost.Asio 解析器的结果不同

我有一个固定的复制器,每5秒在localhost上调用一次boost::asio::ip::tcp::resolver::resolve()。它计算返回的端点数,并将该值与上一次迭代进行比较。#include#includeintmain(intargc,char*argv[]){if(argcendpoint()示例session~>time./addrinfo_asiolocalhost80...127.0.0.1:80got1addresses[::1]:80127.0.0.1:80got2addressesaddrinfo_asio:addrinfo_asio.cc:35:in

c++ - 在 boost::variant 中调用类型通用的方法

如果我的boost::variant中的所有类型支持相同的方法,有没有办法通用地调用它(即不为static_visitor的每个方法单独调用它)?我正在尝试让这样的东西工作:classA{voidboo(){}};classB{voidboo(){}};classC{voidboo(){}};typedefboost::variantX;voidfoo(X&d){x.boo();}但编译失败说'boo':isnotamemberof'boost::variant'.目前,我有一些类都继承自一个接口(interface),因此可以多态地使用它们的单一共享方法。我还希望能够通过访问者使用这

c++ - boost::asio 异步条件

想法是能够在消费者/生产者问题上用boost::asio和线程池替换多线程代码。目前,每个消费者线程都在等待boost::condition_variable-当生产者向队列中添加内容时,它会调用notify_one/notify_all进行通知所有的消费者。现在,当您(可能)拥有1k+消费者时会发生什么?线程不会扩展!我决定使用boost::asio,但后来发现它没有条件变量。然后async_condition_variable诞生了:classasync_condition_variable{private:boost::asio::io_service&service_;type

c++ - 为什么 C++ Boost 发行版有 `.dll` 和 `.lib` 文件?

大家好。我目前正在创建一个“共享”库(在Windows上也称为DLL),该库又将依赖“BoostC++”库来提供日期时间功能。我注意到我的Boost安装(通过Boostpro完成)在boost安装的lib目录中有一些DLL和LIB文件。好的,我认为这是必需的,所以我将它们添加到我的IDE中的库依赖项中。现在我要做的是编写使用boost日期时间库的代码,创建共享库并从独立的可执行文件中使用它。它有效,即使我刚刚将我创建的共享库复制到可执行文件夹而不是boost_date_time-vc100-mt-1_47.dll文件。奇怪的。现在我要做的是从我的项目中删除Boost的DLL/库依赖项并