abseil-cpp:Google出品C++增强库,补充标准库功能,生产级稳定可靠

Abseil Common Libraries (C++)

Branch20Tags67
This repository is empty

Abseil - C++ 常用库

本仓库包含 Abseil C++ 库代码。Abseil 是一个开源的 C++ 代码集合(符合 C++17 标准),旨在增强 C++ 标准库。

目录

关于 Abseil

Abseil 是一个开源的 C++ 库代码集合,旨在增强 C++ 标准库。Abseil 库代码来自 Google 自身的 C++ 代码库,经过了广泛的测试和生产使用,也是我们日常编码生活中依赖的代码。

在某些情况下,Abseil 提供了 C++ 标准中缺失的部分;在其他情况下,Abseil 提供了针对我们通过 Google 代码库使用发现的特殊需求的标准替代方案。我们会清楚地标明这些情况。

Abseil 的目标不是与标准库竞争;我们只是发现许多实用程序在我们代码库中发挥作用,现在我们希望将这些资源提供给整个 C++ 社区。

快速入门

如果您想开始使用,请务必至少执行 Abseil 快速入门。快速入门包含有关设置开发环境、下载 Abseil 代码、运行测试以及使简单二进制文件正常工作的資訊。

构建 Abseil

BazelCMake 是 Abseil 的官方构建系统。有关使用 Bazel 构建系统构建 Abseil 的更多信息,请参阅 快速入门。如果您需要 CMake 支持,请查看 CMake 构建说明CMake 快速入门

支持

Abseil 遵循 Google 的 基础 C++ 支持策略。有关当前支持的编译器、平台和构建工具列表,请参阅 此表格

代码映射

Abseil 包含以下 C++ 库组件:

  • base
    base 库包含初始化代码和其他所有 Abseil 代码都依赖的代码。base 中的代码可能不依赖于任何其他代码(除了 C++ 标准库)。
  • algorithm
    algorithm 库包含对 C++ <algorithm> 库的补充以及此类算法的基于容器的版本。
  • cleanup
    cleanup 库包含类似于控制流构造的类型 absl::Cleanup,用于在作用域退出时执行回调。
  • container
    container 库包含其他 STL 样式的容器,包括 Abseil 的无序“瑞士表”容器。
  • crc crc 库包含用于计算数据上的循环冗余校验的代码。
  • debugging
    debugging 库包含用于启用泄漏检查以及堆栈跟踪和符号化实用程序的代码。
  • flags
    flags 库包含用于处理使用 Abseil 构建的库和二进制文件的命令行标志的代码。
  • hash
    hash 库包含哈希框架和 Abseil 中可哈希类型的默认哈希函数实现。
  • log
    log 库包含 LOGCHECK 宏以及用于将记录的消息写入磁盘、stderr 或用户可扩展目标的工具。
  • memory
    memory 库包含增强 C++ <memory> 库的内存管理功能。
  • meta
    meta 库包含类似于 C++ <type_traits> 库中可用的类型检查。
  • numeric
    numeric 库包含 128 位整数类型以及 C++20 的按位数学函数的实现。
  • profiling
    profiling 库包含用于分析 C++ 实体的实用代码。它目前是 Abseil 其他库的私有依赖项。
  • random
    random 库包含用于生成伪随机值的函数。
  • status
    status 库包含错误处理的抽象,特别是 absl::Statusabsl::StatusOr<T>
  • strings
    strings 库包含各种字符串例程和实用程序。
  • synchronization
    synchronization 库包含并发基元(Abseil 的 absl::Mutex 类,它是 std::mutex 的替代品)和各种同步抽象。
  • time
    time 库包含用于计算绝对时间点、时间段以及在时区内格式化和解析时间的抽象。
  • types
    types 库包含非容器实用类型。
  • utility
    utility 库包含实用程序和帮助代码。

版本

Abseil 建议用户“实时更新”(尽可能频繁地更新到主分支的最新提交)。但是,我们意识到这种理念并不适用于所有项目,因此我们还提供了 长期支持版本,我们会为其回溯修复严重错误。有关更多详细信息,请参阅我们的 版本管理 文档。

许可证

Abseil C++ 库受 Apache 许可证条款的约束。有关更多信息,请参阅 LICENSE

链接

有关 Abseil 的更多信息:

Introduction

绳降通用库(C++)【此简介由AI生成】

Customize your domain
63218.14 K3.2 KVisit GitHub