Timestamp类图

数据成员:
static const int kMicroSecondsPerSecond:微秒与秒之间的进制关系
int64_t microSecondsSinceEpoch_:从1970年1月1日起至当前的微秒数
成员函数:
Timestamp():构造一个microSecondsSinceEpoch_==0的失效时间戳
Timestamp(int64_t microSecondsSinceEpoch):构造一个microSecondsSinceEpoch_==microSecondsSinceEpoch的时间戳
void swap(Timestamp& that):交换that与this的时间戳
string toString() const:将microSecondsSinceEpoch_转换为一个字符串
string toFormattedString() const:将microSecondsSinceEpoch_转换成一个格式化的字符串
bool valid() const:判断时间戳是否有效
int64_t microSecondsSinceEpoch() const:获取microSecondsSinceEpoch_的值
time_t secondsSinceEpoch() const:获取将microSecondsSinceEpoch_转换成秒的值
static Timestamp now():获取当前时间的时间戳
static Timestamp invalid():获取一个microSecondsSinceEpoch_=0的失效时间戳
Timestamp.h
//Timestamp.h
#ifndef MUDUO_BASE_TIMESTAMP_H
#define MUDUO_BASE_TIMESTAMP_H
#include <muduo/base/copyable.h>
#include <muduo/base/Types.h>//该头文件未被使用
#include <boost/operators.hpp>
namespace muduo
{
///
/// Time stamp in UTC, in microseconds resolution.
///
/// This class is immutable.
/// It's recommended to pass it by value, since it's passed in register on x64.
///
/*
值语意:可以拷贝,拷贝之后与原对象脱离关系
对象语义:分为不可以拷贝的和可以拷贝的,但拷贝后与原对象仍存在一定关系,比如共享底层资源
muduo::copyable 空基类,标识类,表示其为值类型,可以拷贝
boost::less_than_comparable 模板类,要求实现<操作符,之后可自动实现>,<=,>=
*/
class Timestamp : public muduo::copyable,
public boost::less_than_comparable<Timestamp>
{
public:
///
/// Constucts an invalid Timestamp.
///
//构造一个失效的时间戳
Timestamp()
: microSecondsSinceEpoch_(0)
{
}
///
/// Constucts a Timestamp at specific time
///
/// @param microSecondsSinceEpoch
explicit Timestamp(int64_t microSecondsSinceEpoch);
//that为引用
void swap(Timestamp& that)
{
std::swap(microSecondsSinceEpoch_, that<


715

被折叠的 条评论
为什么被折叠?



