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


相關推薦

2022-08-13

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

2023-08-05

Visual Studio Code 1.81 已发布,此版本一些主要亮点包括: Accessibility 改进 - 支持通知、聊天回复和悬停的 Accessible View。 “ Open Accessible View (Alt+F2) ”命令允许屏幕阅读器用户逐个字符、逐行检查内容。上次更新

2024-07-05

过编写脚本进行半自动的生成。 CMake 3.30.0 现已发布,一些亮点更新内容如下: “cmake-presets(7)” 文件现在支持 schema version“9”。 “include”字段现在扩展除“$env{}” 和 preset-specific 宏(即从预设定义内的字段派生的

2022-09-15

hash 库 path 库 文件系统操作(fs) 系统操作(os) 本次发布的版本,直接从 v2.0.3 跳到了 v3.0.0,跨度非常之大,它在性能、易用性、稳定性等方面均有全面的提升。 性能优化 内存分配器 v3.0 中实现了一个新的内存分配器(co/

2023-09-10

新增功能 基准测试框架。 #include "co/benchmark.h" #include "co/mem.h"   BM_group(malloc) { void* p;   BM_add(::malloc)( p = ::malloc(32); ); BM_use(p);   BM_add(co::alloc)( p = co::alloc(32); ); BM_use(p); }   int main(int argc, char** argv) { flag::parse(argc,

2023-09-20

也可以通过编写脚本进行半自动的生成。 CMake 3.27.5 现已发布,一些亮点更新内容如下: cmGeneratorTarget:支持独立于配置的 Fortran 源查询 cmComputeLinkInformation:计算使用模块的目标的链接信息 FortranCInterface:转发 CMAKE_OSX_DEPL

2022-08-16

Firebird 4.0.2 已发布。 Firebird 是一个跨平台的关系数据库,可运行在 Windows、Linux 和多种 Unix 操作系统上,提供了大部分 SQL-99 标准的功能。它既能作为多用户环境下的数据库服务器运行,也提供嵌入式数据库的实现。 Firebird 源

2023-02-15

、音频、字幕等格式封装成 mkv 格式。 MKVToolNix 74.0 正式发布,更新内容如下: 新功能和改进 mkvmerge: SRT 处理:添加 -engage keep_whitespaces_in_text_subtitles,以在多路复用过程中禁止从 SRT 条目的每一行的开始和结束处剥离空白处

2022-10-11

Transmission 4.0.0 发布了首个 Beta 测试版。公告写道,自 3.0 发布以来,此版本已经积极开发了一年多,包含大量变化,并超过 1000 次 commit。 下载地址:https://transmissionbt.com/download Transmission 是开源的 BitTorrent 客户端,支持 macOS

2023-02-11

Transmission 4.0.0 稳定版已正式发布,其团队表示这是一个大版本更新——不仅体现在版本号上,他们还为这个版本投入了许多开发资源。自 3.0 发布以来,此版本已经积极开发了一年多,包含大量变化,提交了超过 1000 个 commit。

2023-11-06

Protocol Buffers 25.0 已经发布。Protocol Buffers(protobuf)是 Google 开源的语言无关、平台无关的可扩展机制,用于序列化结构化数据。 具体更新内容包括: Announcements Protobuf News 可能包括针对即将发生的更改的附加公告或

2022-10-24

是一种新兴的网页虚拟机标准,它的设计目标包括:高可移植性、高安全性、高效率(包括载入效率和运行效率)、尽可能小的程序体积。2018 年 WebAssembly 第一个规范草案诞生,2019 年成为 W3C 第四个标准语言。到了 2022 年底,We

2022-05-28

也可以通过编写脚本进行半自动的生成。 CMake 3.23.2 现已发布,具体更新内容如下: CPack/NuGet:在 Windows 上恢复 component packaging cmInstallCommand:调整错误信息 cmExportBuildFileGenerator:处理 genex-wrapped 的源路径 ci:使用 CMake 3.2

2023-11-28

据开发者的说法,他们已经完成了从 C++ 到 Rust 的大部分移植工作,但还有一些剩余的组件需要进行翻译。目前,他们正在处理与输入系统相关的读取器、屏幕处理、输入和分页器等强耦合组件。一旦这些组件完成翻译,剩下的