12-总结-【cartographer源码分析】系列的第一部分【common源码分析】

本文总结了Cartographer源码分析的第一部分——common模块,涉及port.h、time.h、fixed_ratio_sampler.h、rate_timer.h等10个关键文件。主要内容包括时间转换、固定频率采样、速率计数、直方图计算、数学操作、智能指针封装、互斥锁、线程池和阻塞队列等实用工具类。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【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
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值