目录
前言
absl其实是一个C++工具库,是谷歌公司开发自己的产品项目(比如WebRTC, Chrome等)过程中形成的一个内部工具库子集。
正文
其实,谷歌产品线中很多模块都是可以共用的,为了避免重复造轮子,渐渐就形成了一个公共基础库。
我猜他们研发自己也很意外这个神来之笔。如果我们开发过程中需要修改 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