摘要:
stout的在异常捕获上遵循于谷歌类似的原则,不适用try...catch...,而是从函数返回值判断异常。Try类正是实现了这样的一个功能。 同Option一样,Try是一个模板类,每个类对象都有两种状态。 SOME表示无异常,用户可获取指针t。ERROR表示有异常,用户可用过message获取异 阅读全文
摘要:
为了安全表示NULL, stout实现了Option类。Option对象有两种状态: 其中SOME表示非空,NONE表示为空。可通过isSome和isNone判断Option对象是否为空。 Option类符合RAII的特性,构造函数和析构函数如下: 注意 Option类似于boost::unique 阅读全文
摘要:
stout库中为了避免使用NULL带来的风险,统一用None表示空。 None类的实现方式如下: 奇怪的是, Nothing类实现方式与None一模一样。。让人怀疑作者是不是写重了。 阅读全文
摘要:
Duration类用于表示时间长度,可精确到纳秒。 代码实现在duration.hpp中,测试代码:duration_tests.cpp 相关api如下: parse, 将字符串转化成Duration对象 create, 将秒数转化为Duration对象 ns, us, ms, secs, mins 阅读全文
摘要:
最近在使用mesos做高可用设计,在编译的过程中注意到mesos依赖stout,一个仅仅含有头文件的c++基础库。stout代码简洁,设计优雅,值得一读。 stout从内容上可细分为以下几块: 接下来将stout中的类库进行逐个分析。欲知详情,请等待下期分解。 阅读全文