目录
ScopedJavaLocalRef, ScopedJavaGlobalRef,JavaObjectWeakGlobalRef
ObserverList,ObserverListThreadSafe
Chromium 提供了一个类似 WTF 的基础库,甚至包含了更多的内容。这个基础库在 Blink 之外被广泛使用(Blink 里面仍然使用的是 WTF),了解它的使用对我们实际的代码编写是十分重要的。本文主要介绍 Chromium 基础库包括的主要内容,并详细说明一些重要类型的使用方式。如果需要了解某个特定目录或者文件的内容概要,学会的这篇文档可以提供一个不错的全面索引,另外 Chromium 为所有的基础库类型都提供了完整的单元测试,通过阅读单元测试代码了解这些类型的使用也是很好的方式。
Chromium 基础库概览
Chromium 基础库包括的内容十分繁杂,我把其中的主要部分大致分为以下几类:
- 容器类型
Chromium 的代码主要使用 STL 容器类型,比如 std::vector,std::list,另外 GCC 和 MSVC 提供的 STL 扩展容器类型 hash_map 和 hash_set 也在 Chromium 中使用,不过统一放在 base 名字空间里面,通过 base::hash_map,base_hash_set 使用。
在 STL 外,Chromium 基础库还提供了一些额外的容器类型比