目录

前言

正文


前言

absl其实是一个C++工具库,是谷歌公司开发自己的产品项目(比如WebRTC, Chrome等)过程中形成的一个内部工具库子集。

《WebRTC工作原理精讲》系列-总览

正文

其实,谷歌产品线中很多模块都是可以共用的,为了避免重复造轮子,渐渐就形成了一个公共基础库。

我猜他们研发自己也很意外这个神来之笔。如果我们开发过程中需要修改 WebRTC,Chrome 的C++源码,这个库是可以直接使用的。

官方推荐用法如下:

absl::InlinedVector
absl::WrapUnique
absl::optional and related stuff from absl/types/optional.h.
absl::string_view
The functions in absl/strings/ascii.h, absl/strings/match.h, and absl/strings/str_replace.h.
absl::is_trivially_copy_constructible, absl::is_trivially_copy_assignable, and absl::is_trivially_destructible from absl/meta/type_traits.h.
absl::variant and related stuff from absl/types/variant.h.
The functions in absl/algorithm/algorithm.h and absl/algorithm/container.h.
The macros in absl/base/attributes.h, absl/base/config.h