最近在使用mesos做高可用设计,在编译的过程中注意到mesos依赖stout,一个仅仅含有头文件的c++基础库。stout代码简洁,设计优雅,值得一读。
stout从内容上可细分为以下几块:
- Primitives: Duration, Error, None, Nothing, Option, Owned, Result, Try, StopWatch,UUID。
- Collections: cache, hashmap, hashset, multihashmap,对常用数据结构进行了一些封装,增加可用性。
- Namespaces: fs, gzip, JSON, lambda,net, os, path, protobuf, strings, 对操作系统的api进一步封装。
- Miscellaneous: copy, EXIT, fatal, gtest, numify, preprocessor, stringify
接下来将stout中的类库进行逐个分析。欲知详情,请等待下期分解。