boost 相关问题

Boost是一系列旨在用于C ++的高质量库。 Boost是免费的,通常被认为是“第二标准库”。

Boost Wave 生成运行时断言

我正在使用 Visual Studio 2022 和 Boost.Wave(通过 vcpkg)开发“C”宏扩展器。 我的应用程序基于 boost 附带的 advance_hooks 示例。 该应用程序适用于...

回答 1 投票 0

如何在否定的外观中检查更多空白?

我正在创建一个小函数,它能够修改下面的两行 高精度高精度浮子; 高漂浮强度; 对此: 高精度高精度浮子; 低浮动强度; 所以

回答 1 投票 0

是否可以将键值对放入 boost::json::value 中?

是否可以将键/值对添加到 boost::json::value 中,就像添加到 boost::json::object 中一样? boost::json::对象 obj; obj.emplace("时间戳", "20...

回答 1 投票 0

在 Mac 操作系统上使用 boost 库及其位置

我第一次拥有Mac。我对它一点也不熟悉。我在上面安装了boost。我不确定它是否成功,但当我尝试重新安装时,它说已经安装了。哪个...

回答 1 投票 0

dlclose() 不卸载链接到 boost 的 .so 文件

如果我的应用程序加载(使用 dlopen)链接到 Boost 测试框架的 .so 文件,我无法卸载该 so 文件。如果没有链接到 boost,卸载它似乎就可以了。 应用程序文件main.cpp: #

回答 2 投票 0

Boost program_options:混合位置参数和命名参数

我正在使用 boost::program_options 来制作一个简单的可执行文件,其通用语法如下: 程序 --命令 [参数] 例如: 程序--命令运行--监听locahost--端口80...

回答 1 投票 0

Boost能保证解现实化的安全性吗?

例如,客户端序列化 std::vector、std::unordered_map、boost::Optional、std::shared_ptr 或其他一些其序列化机制直接在 Boost 中布局的类型,然后发送...

回答 1 投票 0

对于 boost::fibonacci_heap,pop() API 会自动更新堆吗?还是必须跟在update()之后? [已关闭]

我刚开始使用 boost::fibonacci_heap 并且有一些关于使用的问题。 我的伪代码大致如下: while (!heap.empty()) { 获取heap.top() //分析 堆.pop() //...

回答 1 投票 0

Boost binary_oarchive 不适用于动态缓冲区

我正在尝试使用 boost 序列化来序列化对象。如果我使用 text_archive,一切都会完美运行,我可以序列化、反序列化回来,并且一切都就位。我尝试串行...

回答 1 投票 0

有没有办法使用boost-url获取二级域名?

我正在尝试使用 boost-url 获取 URL 的二级域名。例如,如果 url 是 https://google.com,我想将 google 存储在 std::string 中。 这是一个完整的例子: #包括 我正在尝试使用 boost-url 获取 URL 的二级域名。例如,如果 url 是 https://google.com,我想将 google 存储在 std::string 中。 这是一个完整的示例: #include <boost/url.hpp> #include <iostream> int main() { std::string url_str = "https://google.com"; result = boost::urls::parse_uri(url_str); boost::urls::url_view url = result.value(); std::string protocol = url.scheme(); std::string domain = std::string(url.host()); std::cout << protocol << std::endl; // outputs `https` std::cout << domain << std::endl; // outputs `google.com` // `google`, which is what I require here return 0; } 我自己定义了一个方法来提取SLD,但我想知道boost-url是否也提供了一些函数来这样做: std::string get_sec_level_domain(std::string domain) { std::size_t pos = domain.find_last_of('.'); if (pos != std::string::npos && pos > 0) { std::string sld = domain.substr(0, pos); return sld; } return ""; } Boost URL 实现通用 URI。并非所有 URI 都包含完全限定的域名。因此,解析权限的依赖于方案的部分大部分超出了库的范围。 但是,由于互联网地址在网络 URI(ftp、ssh、sftp、http 等)中无处不在,因此存在一些支持,并且您至少可以利用它来避免误解信息,就好像它们是域名一样: 作为测试台示例: 住在 Coliru1 #include <boost/url.hpp> #include <iostream> int main () { for (auto txt : { // explicit port "https://my.pretty.sub.domain.com:8989/path/to/resource?stuff=more&stuff#end", "https://my.com:8989/path/to/resource?stuff=more&stuff#end", "https://localhost:8989/path/to/resource?stuff=more&stuff#end", "https://[::1]:8989/path/to/resource?stuff=more&stuff#end", "https://127.0.0.1:8989/path/to/resource?stuff=more&stuff#end", // without port "https://my.pretty.sub.domain.com/path/to/resource?stuff=more&stuff#end", "https://my.com/path/to/resource?stuff=more&stuff#end", "https://localhost/path/to/resource?stuff=more&stuff#end", "https://[::1]/path/to/resource?stuff=more&stuff#end", "https://127.0.0.1/path/to/resource?stuff=more&stuff#end", }) { if (auto parsed = boost::urls::parse_uri(txt); parsed && parsed->has_authority()) { auto url = parsed.value(); switch (url.host_type ()) { case boost::urls::host_type::ipv4: case boost::urls::host_type::ipv6: case boost::urls::host_type::ipvfuture: case boost::urls::host_type::none: std::cerr << "adress or none: '" << url.host () << "'\n"; break; case boost::urls::host_type::name: std::cout << "maybe FQDN: '" << url.host_name () << "'\n"; break; } } } } 印刷 maybe FQDN: 'my.pretty.sub.domain.com' maybe FQDN: 'my.com' maybe FQDN: 'localhost' adress or none: '[::1]' adress or none: '127.0.0.1' maybe FQDN: 'my.pretty.sub.domain.com' maybe FQDN: 'my.com' maybe FQDN: 'localhost' adress or none: '[::1]' adress or none: '127.0.0.1' 1 注意:遗憾的是,coliru 不让我分享它,因为它会触发 URL 的垃圾邮件检测。但如果您只是复制粘贴并构建,就可以在那里看到输出g++ -std=c++20 -O2 -Wall -pedantic -pthread main.cpp -lboost_url && ./a.out

回答 1 投票 0

如何删除 boost::multi_array 中的前行/列?

删除 boost::multi_array 中的最后一行或最后一列非常容易,例如,使用以下最小示例: #include“boost/multi_array.hpp” #包括 t...

回答 1 投票 0

如何更改“boost::geometry::polygon”中的顶点?

我使用以下代码从 boost::geometry::polygon 获取顶点: 使用命名空间 boost::geometry; 使用 PointType = model::d2::point_xy; 使用 PolygonType = model::p...

回答 1 投票 0

如何以无序且可变的方式使用 boost::bimap ?

我正在寻找双向无序地图。目前,我只有这个。问题是,我不能使用[]。我认为 boost 默认为列表类型。但我想要一个哈希图。这个怎么样

回答 2 投票 0

如何创建/使用 boost::multi_index 与映射类型/值无关的键类型/值

我想要一个双键“映射”来访问类型值。 键类型与映射类型无关。 例子: 使用 key1_type = double; 使用 key2_type = int; 使用mapped_type = s...

回答 2 投票 0

如何 boost::序列化 std/boost::可选?

如何序列化包含 boost::可选的类(使用 boost::serialization)? IE。下面的代码在实例化时会报错。 错误 C2039:“序列化”:不是成员...

回答 2 投票 0

LINK:致命错误LNK1104:无法在CMake项目中打开文件'libboost_log-vc143-mt-gd-x64-1_85.lib'

我遇到了这个问题:链接器找不到目标中显然存在的Boost.Log库。我使用 MS Visual Studio 2022,所以我的编译器肯定是库中所述的 msvc143。 我有

回答 1 投票 0

UTC 现在使用纳秒精度的 boost Posix 时间

有没有办法使用纳秒精度的 boost Posix 时间库获取当前 UTC 时间的 ptime 表示?我知道如何使用 microsec_clock 获得微秒精度。我知道...

回答 1 投票 0

迭代 asio::streambuf 中的缓冲区

通过命名管道传输数据时,我需要序列化一些数据结构,然后传输一个由序列化结构的大小(以字节为单位)组成的序列,作为 uint32_t ,后跟

回答 1 投票 0

有人知道为什么我在 macOS 上构建 boost 但没有创建 boost:: Fiber 库吗?

我正在编写一些使用 boost:: Fiber 作为协程的代码。该代码在 Windows 上运行良好,但是当我将其(通过 git)克隆到 macOS 时,我发现 cmake 找不到 boost:: Fiber。 在两个窗口上...

回答 2 投票 0

如何使用boost::wave来展开嵌套宏

我正在开发一个Boost Wave应用程序,将“C”源文件中未扩展的宏实例映射到相应的扩展宏文本。 映射需要适用于函数和对象...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.