base1. Timestamp时间戳类

Timestamp类图
l
数据成员:
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<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值