Apollo 10.0
自动驾驶开放平台
apollo::cyber::Duration类 参考

#include <duration.h>

apollo::cyber::Duration 的协作图:

Public 成员函数

 Duration ()=default
 
 Duration (int64_t nanoseconds)
 
 Duration (int nanoseconds)
 
 Duration (double seconds)
 
 Duration (uint32_t seconds, uint32_t nanoseconds)
 
 Duration (const Duration &other)
 
Durationoperator= (const Duration &other)
 
 ~Duration ()=default
 
double ToSecond () const
 
int64_t ToNanosecond () const
 
bool IsZero () const
 
void Sleep () const
 
Duration operator+ (const Duration &rhs) const
 
Duration operator- (const Duration &rhs) const
 
Duration operator- () const
 
Duration operator* (double scale) const
 
Durationoperator+= (const Duration &rhs)
 
Durationoperator-= (const Duration &rhs)
 
Durationoperator*= (double scale)
 
bool operator== (const Duration &rhs) const
 
bool operator!= (const Duration &rhs) const
 
bool operator> (const Duration &rhs) const
 
bool operator< (const Duration &rhs) const
 
bool operator>= (const Duration &rhs) const
 
bool operator<= (const Duration &rhs) const
 

详细描述

在文件 duration.h26 行定义.

构造及析构函数说明

◆ Duration() [1/6]

apollo::cyber::Duration::Duration ( )
default

◆ Duration() [2/6]

apollo::cyber::Duration::Duration ( int64_t  nanoseconds)
explicit

在文件 duration.cc27 行定义.

27{ nanoseconds_ = nanoseconds; }

◆ Duration() [3/6]

apollo::cyber::Duration::Duration ( int  nanoseconds)
explicit

在文件 duration.cc29 行定义.

29 {
30 nanoseconds_ = static_cast<int64_t>(nanoseconds);
31}

◆ Duration() [4/6]

apollo::cyber::Duration::Duration ( double  seconds)
explicit

在文件 duration.cc33 行定义.

33 {
34 nanoseconds_ = static_cast<int64_t>(seconds * 1000000000UL);
35}

◆ Duration() [5/6]

apollo::cyber::Duration::Duration ( uint32_t  seconds,
uint32_t  nanoseconds 
)

在文件 duration.cc37 行定义.

37 {
38 nanoseconds_ = static_cast<uint64_t>(seconds) * 1000000000UL + nanoseconds;
39}

◆ Duration() [6/6]

apollo::cyber::Duration::Duration ( const Duration other)

在文件 duration.cc41 行定义.

41{ nanoseconds_ = other.nanoseconds_; }

◆ ~Duration()

apollo::cyber::Duration::~Duration ( )
default

成员函数说明

◆ IsZero()

bool apollo::cyber::Duration::IsZero ( ) const

在文件 duration.cc54 行定义.

54{ return nanoseconds_ == 0; }

◆ operator!=()

bool apollo::cyber::Duration::operator!= ( const Duration rhs) const

在文件 duration.cc94 行定义.

94 {
95 return nanoseconds_ != rhs.nanoseconds_;
96}

◆ operator*()

Duration apollo::cyber::Duration::operator* ( double  scale) const

在文件 duration.cc71 行定义.

71 {
72 return Duration(int64_t(static_cast<double>(nanoseconds_) * scale));
73}

◆ operator*=()

Duration & apollo::cyber::Duration::operator*= ( double  scale)

在文件 duration.cc85 行定义.

85 {
86 *this = Duration(int64_t(static_cast<double>(nanoseconds_) * scale));
87 return *this;
88}

◆ operator+()

Duration apollo::cyber::Duration::operator+ ( const Duration rhs) const

在文件 duration.cc61 行定义.

61 {
62 return Duration(nanoseconds_ + rhs.nanoseconds_);
63}

◆ operator+=()

Duration & apollo::cyber::Duration::operator+= ( const Duration rhs)

在文件 duration.cc75 行定义.

75 {
76 *this = *this + rhs;
77 return *this;
78}

◆ operator-() [1/2]

Duration apollo::cyber::Duration::operator- ( ) const

在文件 duration.cc69 行定义.

69{ return Duration(-nanoseconds_); }

◆ operator-() [2/2]

Duration apollo::cyber::Duration::operator- ( const Duration rhs) const

在文件 duration.cc65 行定义.

65 {
66 return Duration(nanoseconds_ - rhs.nanoseconds_);
67}

◆ operator-=()

Duration & apollo::cyber::Duration::operator-= ( const Duration rhs)

在文件 duration.cc80 行定义.

80 {
81 *this = *this - rhs;
82 return *this;
83}

◆ operator<()

bool apollo::cyber::Duration::operator< ( const Duration rhs) const

在文件 duration.cc102 行定义.

102 {
103 return nanoseconds_ < rhs.nanoseconds_;
104}

◆ operator<=()

bool apollo::cyber::Duration::operator<= ( const Duration rhs) const

在文件 duration.cc110 行定义.

110 {
111 return nanoseconds_ <= rhs.nanoseconds_;
112}

◆ operator=()

Duration & apollo::cyber::Duration::operator= ( const Duration other)

在文件 duration.cc43 行定义.

43 {
44 this->nanoseconds_ = other.nanoseconds_;
45 return *this;
46}

◆ operator==()

bool apollo::cyber::Duration::operator== ( const Duration rhs) const

在文件 duration.cc90 行定义.

90 {
91 return nanoseconds_ == rhs.nanoseconds_;
92}

◆ operator>()

bool apollo::cyber::Duration::operator> ( const Duration rhs) const

在文件 duration.cc98 行定义.

98 {
99 return nanoseconds_ > rhs.nanoseconds_;
100}

◆ operator>=()

bool apollo::cyber::Duration::operator>= ( const Duration rhs) const

在文件 duration.cc106 行定义.

106 {
107 return nanoseconds_ >= rhs.nanoseconds_;
108}

◆ Sleep()

void apollo::cyber::Duration::Sleep ( ) const

在文件 duration.cc56 行定义.

56 {
57 auto sleep_time = std::chrono::nanoseconds(nanoseconds_);
58 std::this_thread::sleep_for(sleep_time);
59}

◆ ToNanosecond()

int64_t apollo::cyber::Duration::ToNanosecond ( ) const

在文件 duration.cc52 行定义.

52{ return nanoseconds_; }

◆ ToSecond()

double apollo::cyber::Duration::ToSecond ( ) const

在文件 duration.cc48 行定义.

48 {
49 return static_cast<double>(nanoseconds_) / 1000000000UL;
50}

该类的文档由以下文件生成: