【cartographer源码分析】系列的第一部分【common源码分析】很早就已经完毕。
现总结common文件夹涉及到的主要功能:
1,common/port.h:
- int RoundToInt(const float x); //四舍五入取整
- FastGzipString(const string& uncompressed, string* compressed); //压缩字符串string
- FastGunzipString(const string& compressed, string* decompressed); //解压缩字符串
2,common/time.h
主要功能是提供时间转换函数,UniversalTimeScaleClock类实现c++11的clock接口,以0.1us为时间精度。
定义2个别名:
using Duration = UniversalTimeScaleClock::duration;//微秒,0.1us
using Time = UniversalTimeScaleClock::time_point; //时间点
并提供多个函数方便时间转换.
- FromSeconds(double seconds); //秒数seconds转为c++的duration实例对象:
- FromMilliseconds(int64 milliseconds);
- ToSeconds(Duration duration); //将duration实例对象转为秒数s
- ToSeconds(Duration duration);
- ToUni