关于

Abseil 由 Google 的基础 C ++ 和 Python 代码库组成,包括一些正支撑着如 gRPC、Protobuf 和 TensorFlow 等开源项目并一起 “成长” 的库。目前已开源 C++ 部分,Python 部分将在后续开放。

Abseil 目前开放的 C++ 标准库的扩充库,是从 Google 内部 C ++ 代码库抽取出来的基础库的合集。这些库在 Google 内部经过广泛的测试和生产使用,是 Google 大量运行内容的基石。

多数情况下,Abseil 提供了 C ++ 标准中缺失的部分;此外,Abseil 还提供了一些特殊需求标准的替代方案。

Abseil的C++部分github代码库:GitHub - abseil/abseil-cpp: Abseil Common Libraries (C++)

代码概览

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

  • base

    基础库包含初始代码和其他Abseil代码所依赖的代码。 base中的代码可能不依赖于任何其他代码(c++标准库除外)。

  • algorithm

    算法库包含对c++ 库和基于容器的算法的补充。

  • cleanup

    清理库包含类似控制流构造的类型absl:: cleanup,用于在范围退出时执行回调。

  • container

    容器库包含额外的stl风格的容器,包括Abseil的无序“Swiss table”容器。

  • debugging

    调试库包含用于启用泄漏检查、堆栈跟踪和符号化的实用代码。

  • flags

    flags库包含处理Abseil构建的库和二进制程序的命令行标志的代码。

  • hash
    哈希库包含了Abseil中哈希类型的哈希框架和默认哈希函数实现。

  • iterator

    迭代器库包含用于在基于范围的for循环中增加范围的实用程序。

  • log
    日志库包含log和CHECK宏以及将日志消息写到磁盘、stderr或用户可扩展的目的地的工具。

  • memory

    内存库包含对c++的库进行扩充的内存管理工具。

  • meta

    元库包含在c++ <type_traits>库的c++ 14和c++ 17版本中可用的类型检查的兼容版本。

  • numeric

    数值库包含128位整数类型以及c++ 20的逐位数学函数的实现。

  • profiling

    分析库包含用于分析c++实体的工具代码。 它目前是其他Abseil库的私有依赖项。

  • random

    随机库包含用于生成伪随机值的函数。

  • status

    状态库包含错误处理的抽象,特别是absl:: status和absl::StatusOr。

  • strings

    字符串库包含各种字符的常规用法和实用工具,包括c++ 17 std::string_view类型的c++ 14兼容版本。

  • synchronization

    同步库包含并发原语(Abseil的absl::Mutex类是std:: Mutex的替代方案)和各种同步抽象。

  • time

    时间库包含用于计算绝对时间点、时间持续时间以及在时区内格式化和解析时间的抽象。

  • types

    类型库包含非容器实用程序类型,比如c++ 17 std::可选类型的c++ 14兼容版本。

  • utility

    工具库包含实用工具和辅助程序代码。

License

Abseil c++库是在Apache许可条款下授权的。 有关更多信息,请参阅许可证: https://github.com/abseil/abseil-cpp/blob/master/LICENSE)

Abseil系列一:简介相关推荐

  1. beeline安装_Hive 系列 之 简介与安装

    下面是系列文章的目录 (1)hive系列之简介,安装,beeline和hiveserver2 (2)hive系列之基本操作 (3)hive系列之udf (4)hive系列之二级分区和动态分区 (5)h ...

  2. 【Proteus+51单片机学习笔记】-51/52系列单片机简介

    0 摘要 本文主要对STC89C52系列单片机进行了简单介绍,对其主要电路进行整理. 1 STC89C52系列单片机简介 STC89C52单片机指令完全兼容传统8051单片机,包括12T和6T两种模式 ...

  3. UUCP系列程序简介

    UUCP系列程序简介 1.UUCP系统概述 UUCP系统是一组程序,完成文件传输,执行系统之间的命令,维护系统使用情况的统计,保护安全.UUCP是UNIX系统最广泛使用的网络实用系统,这其中在两个原因 ...

  4. 目标检测YOLO系列------YOLO简介

    目标检测YOLO系列------YOLO简介 1.为什么会出现YOLO算法 2.YOLO算法会逐渐成为目标检测的主流吗     YOLO以及各种变体已经广泛应用于目标检测算法所涉及到的方方面面,为了梳 ...

  5. Lattice系列FPGA入门相关1(Lattice系列FPGA简介)

    需求说明:Lattice系统FPGA入门 内容       :Lattice系列FPGA简介 来自       :时间的诗 1.为什么Lattice在进入FPGA市场的第一年就能取得这么好的成绩? 我 ...

  6. 第三讲 i.MX系列芯片简介

    第三讲 i.MX系列芯片简介 文章目录 第三讲 i.MX系列芯片简介 一. i.MX 系列处理器 芯片选型 i.MX 6ULL 总览 i.MX 6ULL 特性 i.MX 6ULL 框图 注意 二. A ...

  7. 【原创】书本翻页效果booklet jquery插件系列之简介

    booklet jquery插件系列之简介 本文由五月雨恋提供,转载请注明出处. 一.安装 1.添加CSS和Javascript 添加booklet CSS文件到你的页面. <link rel= ...

  8. Redis6 系列一 简介与安装

    Redis6 系列一 简介与安装 穆成祥 千缘科技 1.      NoSQL数据库简介 1.1.  技术发展 技术的分类 1.解决功能性的问题:Java.Jsp.RDBMS.Tomcat.HTML. ...

  9. RxJava系列1(简介)

    RxJava系列1(简介) RxJava系列2(基本概念及使用介绍) RxJava系列3(转换操作符) RxJava系列4(过滤操作符) RxJava系列5(组合操作符) RxJava系列6(从微观角 ...

  10. 【CCF】信息学竞赛系列活动简介

    全国青少年信息学奥林匹克竞赛系列活动简介 NOI NOIP 冬令营(WC) APIO 选拔赛(CTS/CTSC) IOI CSP-J/S 总结 NOI NOI:全国青少年信息学奥林匹克(NOI)是国内 ...

最新文章

  1. 远程桌面连接后远程计算机注销,使用windows8.1 pro的远程桌面,当断开远程桌面时被控制端用户注销问题...
  2. js实现的简单模态对话框
  3. 对 sql server 数据库的备份进行加密
  4. 【今晚8点半】:对话袁家军——成都的多媒体圈
  5. abiword Namespace List
  6. map函数python求数的每位的值_map函数_实现批量计算
  7. LeetCode——面试题 08.01. 三步问题
  8. 信息学奥赛一本通C++语言——1080:余数相同问题
  9. linux 下 /dev和/sys/dev的区别
  10. CAD图清晰打印设置
  11. 手机怎么改android版本号,安卓手机build.prop每行的意思,如果想改版本信息型号等...
  12. linux运行blast,linux blast
  13. Linux NIS服务
  14. 安卓测试基础入门——ADB命令
  15. iPerf 3.13 的交叉编译,移植,使用
  16. 微信小程序 - 收藏集 - 掘金
  17. 原神2.0宅男福利!爬虫实战,爬取原神真人cos图片并保存,谁的老婆快抱走
  18. [转]国外人气最旺的软件测试网站
  19. 论文《Depth Estimation From a Light Field Image Pair With a Generative Model》学习
  20. 视频webm怎么转换成mp4?

热门文章

  1. 一文梳理Dubbo常见面试问题
  2. python刘卫国答案第二_Homepages related
  3. yolov6解锁了新姿势
  4. Java 面试就业指导,100 % 提高面试成功率!
  5. 时间序列的7种预测模型
  6. bootstrap浮窗
  7. linux 查看打开文件数,Linux系统中打开文件数量的查看方法
  8. Standford 机器学习应用的建议及机器学习系统的设计
  9. sql 去除重复之distinct详解
  10. 浙大哈佛剑桥学者联手破解数学界几十年的谜题,成果登上数学顶刊