草庐IT

boost-uuid

全部标签

c++ - 如何初始化一个固定大小的数组并使用 C++11 中的 constexpr 函数或在 boost 的帮助下分配元素

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:ProgrammaticallycreatestaticarraysatcompiletimeinC++我有很多数据要存储在固定数组中,其元素取决于位置。每个元素的值都可以在编译时计算出来。我的代码几乎是这样的:intfun(intp)//maybeconstexpr{return0x1既然所有的值都可以在编译时确定,我想应该有办法做到这一点。我还检查了boost.assignment中有一个repeat(),但不知道如何在这种情况下使用它。

c++ - 跟进: Boost serialized custom C++ object passed over ZeroMQ pull socket

这是我之前在Boost:De-serializingacustomC++objectpassedoverZeroMQpullsocket的另一个线程中提出的后续问题。该线程中的问题已根据提供的答案得到解决。现在我在运行时遇到了另一个问题。请看下面的说明。我是C++领域的新手,所以如果您告诉我除了我在问题陈述中描述的内容之外,对所提供代码的任何部分有任何改进的必要性,我将不胜感激。描述:我有一个名为GenericMessage的C++类,它只包含一个id和数据作为其成员(参见下面的代码片段2-GenericMessage.hxx)。我的目的是序列化此类的实例并通过实现推送模式的ZeroM

c++ - Boost Asio SSL 握手永远不会返回

similarquestion我的情况不同。我使用boost::asio::ssl编写了一个SSL客户端但目前没有服务器可以测试,因为它是由其他组开发的。所以目前的服务器只接受纯TCP(不安全)连接。当我对服务器使用我的ssl客户端时,阻塞handshake()挂起/永不返回。我在网上搜索了一下,发现Mozilla也有类似的问题——它在启动与不支持SSL的服务器的SSL连接时挂起,但他们的错误已修复。我只会对我的部分代码进行解释,以确保没有编码错误:在ctor:SecuredConnectionPolicy::SecuredConnectionPolicy():m_sslContext

c++ - 我可以将 Boost Phoenix 表达式字符串化吗?

我可以将一个BoostPhoenix表达式转换成一个具有代表性的C++字符串吗?我可以:stringify(_1然后可能会生成一个包含类似以下内容的字符串:templatestructfoo{autooperator()(T1x1,T2x2)->decltype(x1我很欣赏这个例子有一些粗糙的边缘,但我想知道是否有人尝试过这些方面的任何事情? 最佳答案 使用您可以找到的转换evalhere作为“灵感”。Liveexample.#include#include#include#include#include#includenames

c++ - 比使用流保存 boost 随机生成器状态更快的替代方法

我需要能够保存/加载此boost随机生成器的状态:boost::variate_generator>generator;我是这样做的:std::ostringstreamcontent;contentgenerator.engine();问题是,这非常慢,难道没有其他方法来存储它吗?(或以native格式访问随机生成器数据)。这段代码封装在我们的RandomGenerator类中,所以它可能有点讨厌。 最佳答案 一些方法,都非常hacky:只需使用如下方式获取原始字节:typedeftypenamestd::aligned_stor

c++ - 努力获得 boost 共享内存段来构建

我有一些代码正在尝试创建一个共享内存段。为此,该段是从一个类中管理的。共享部分将以“公告板”方式使用。也就是说,这个进程将写入它,而许多其他进程将从中读取。事不宜迟:#include#include#includestaticconststd::stringSHM_NAME("SharedMemory");staticconststd::stringSHM_STATUS("StatusArray");staticconststd::stringSHM_INFO1("MfgData");classManager{u_int8_t*_status;char*_info;boost::int

C++11 替代 boost::checked_delete

作为前向声明的重度用户,我喜欢我的类在销毁时完成。为确保这一点,我将析构函数设为私有(private)并与boost::checked_delete成为friend:#includestructMyClass{//MyClass'sinterfaceprivate:~MyClass(){/*something*/}friendvoidboost::checked_delete(MyClass*x);};在C++11中,std::default_delete还在销毁时检查完整性。然而,我无法实现与上面相同的行为:#includestructMyClass{//MyClass'sinter

c++ - 在非 boost 线程中使用 boost::thread_specific_ptr

我正在阅读thedocumentationsectionforboost::thread_specific_ptr,并尝试解析这段:Note:onsomeplatforms,cleanupofthread-specificdataisnotperformedforthreadscreatedwiththeplatform'snativeAPI.Onthoseplatformssuchcleanupisonlydoneforthreadsthatarestartedwithboost::threadunlessboost::on_thread_exit()iscalledmanually

python - Python 的 uuid.uuid() 和 C++ 的 std::rand() 之间的冲突

我的软件是用C++编写的,由python脚本调用(通过Swig)。当在脚本中调用python函数uuid.uuid1()时,C++的std::rand()使用的种子似乎丢失了。这是一个问题,因为我必须能够以C++代码中完全相同的行为重新启动我的软件(这与uniqid无关)。以下示例简化了问题:C++文件testrand.h:#ifndef__INCLUDE__TESTRAND_H__#define__INCLUDE__TESTRAND_H__voidinitialize(unsignedlongintseed);unsignedlongintget_number();#endifC++

c++ - boost 单位的平方根 scaled_unit

我使用boost::units来处理项目中的单元。我创建了一个缩放单位来存储微米:usingnamespaceboost::units;typedefmake_scaled_unit>>::typemicro_meter_unit;一切如期进行:quantitysome_meter=10*si::meter;quantitysome_mu_meter=static_cast>(some_meter);std::cout但是平方根运算没有被编译:std::cout'beingcompiled//with//[//X=boost::units::quantity,//Y=boost::un