stout代码分析之一:Duration类
Duration类用于表示时间长度,可精确到纳秒。
代码实现在duration.hpp中,测试代码:duration_tests.cpp
相关api如下:
- parse, 将字符串转化成Duration对象
- create, 将秒数转化为Duration对象
- ns, us, ms, secs, mins, hrs, days, weeks, 返回量词对应的数目
- timeval, 返回Duration对象对应的timeval
- max, Duration所能表示的最长时间
- min, Duration所能表示的最短时间
- <<, 重载输出流
派生类
- Nanoseconds
- Microseconds
- Millisecons
- Seconds
- Minutes
- Hours
- Days
- Weeks
以上派生类除了继承基类Duration的api外,还实现了:
- value, 输出派生类对应的数
- units, 输出派生类对应的量