Boost 1.81 发布,可移植的 C++ 库

Boost 是一套用于 C++ 编程语言的库,为线性代数、伪随机数生成、多线程、图像处理、正则表达式和单元测试等任务和结构提供支持。它包含了 164 个单独的库(截至 1.76 版)。

新的库:

  • URL:一个仅使用 C++11 解析、修改和打印 URL 的库,来自 Vinnie Falco 和 Alan de Freitas。其特点包括快速编译、强大的不变性,以及严格遵守使用内存友好方法。

更新的库:

  • Asio:
    • 增加了consign,可以用来给补全处理程序附加额外的值
    • 添加了 any_completion_handler<>,可用于 type-erase 补全处理程序。
    • 添加了 experimental::co_composed,使用户定义的异步操作的轻量级实现能够使用 C++20 coroutines。
    • 添加了基于范围的 experimental::make_parallel_group() 重载。
    • 添加了 any_completion_executor
    • 为 use_future 的执行器添加了缺失的 context 查询
  • Beast:
    • 添加 buffers_generator
    • 添加 beast::http::message_generator
    • 增加了 buffer_ref,因此 beast 缓冲区可以与 asio 一起使用
    • websocket 超时选项 api
    • 多个内容长度错误
    • 支持默认补全和重新绑定
  • Core:
    • empty_value 现在被标记为 constexpr
    • 添加了 fclose_deleter,一个在指向 std::FILE 的指针上调用 std::fclose 的删除器
    • boost/core/bit.hpp 中的位操作工具现在明确要求输入无符号整数
    • bit_width 现在返回 int 而不是输入参数类型的值
  • DLL:
    • 修正了 Windows 平台的 path_from_handle 实现
  • Filesystem:
    • 已废弃:从字符容器(如 std::vector<char>std::list<wchar_t>)进行 path 构建、赋值和追加,在 v3 中已废弃,并在 v4 中删除
    • 已废弃: boost/filesystem/path_traits.hpp header 已废弃,将在未来的版本中移除
    • 以前被废弃的 API 现在会在使用时产生编译警告
    • 修正了在不支持 at API 的 POSIX 系统上由于缺少 include 而导致的编译
  • ……

更多详情可查看:https://github.com/boostorg/boost/releases/tag/boost-1.81.0

展开阅读全文
发表评论

相关文章