libxr 1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
LibXR::WebAsmTimebase Class Reference

WebAsmTimebase 类,用于获取 WebAssembly 系统的时间基准。 More...

#include <webasm_timebase.hpp>

Inheritance diagram for LibXR::WebAsmTimebase:
Collaboration diagram for LibXR::WebAsmTimebase:

Public Member Functions

TimestampUS _get_microseconds () override
 获取当前时间戳(微秒级)
 
TimestampMS _get_milliseconds () override
 获取当前时间戳(毫秒级)
 
- Public Member Functions inherited from LibXR::Timebase
 Timebase (uint64_t max_valid_us=UINT64_MAX, uint32_t max_valid_ms=UINT32_MAX)
 默认构造函数,初始化全局时间基指针。 Default constructor, initializing the global timebase pointer.
 

Private Attributes

std::chrono::system_clock::time_point start_time_
 

Additional Inherited Members

- Static Public Member Functions inherited from LibXR::Timebase
static TimestampUS GetMicroseconds ()
 获取当前时间的微秒级时间戳。 Gets the current timestamp in microseconds.
 
static TimestampMS GetMilliseconds ()
 获取当前时间的毫秒级时间戳。 Gets the current timestamp in milliseconds.
 
- Static Public Attributes inherited from LibXR::Timebase
static Timebasetimebase = nullptr
 静态指针,用于存储全局时间基对象。 Static pointer storing the global timebase instance.
 

Detailed Description

WebAsmTimebase 类,用于获取 WebAssembly 系统的时间基准。

Definition at line 14 of file webasm_timebase.hpp.

Constructor & Destructor Documentation

◆ WebAsmTimebase()

LibXR::WebAsmTimebase::WebAsmTimebase ( )
inline

Definition at line 17 of file webasm_timebase.hpp.

18 {
19 // 初始化基准时间点
20 start_time_ = std::chrono::system_clock::now();
21 }

Member Function Documentation

◆ _get_microseconds()

TimestampUS LibXR::WebAsmTimebase::_get_microseconds ( )
inlineoverridevirtual

获取当前时间戳(微秒级)

Returns
TimestampUS

Implements LibXR::Timebase.

Definition at line 27 of file webasm_timebase.hpp.

28 {
29 auto now = std::chrono::system_clock::now();
30 auto us =
31 std::chrono::duration_cast<std::chrono::microseconds>(now - start_time_).count();
32 return static_cast<TimestampUS>(us % UINT32_MAX);
33 }
constexpr auto min(T1 a, T2 b) -> typename std::common_type< T1, T2 >::type
计算两个数的最小值

◆ _get_milliseconds()

TimestampMS LibXR::WebAsmTimebase::_get_milliseconds ( )
inlineoverridevirtual

获取当前时间戳(毫秒级)

Returns
TimestampMS

Implements LibXR::Timebase.

Definition at line 39 of file webasm_timebase.hpp.

40 {
41 auto now = std::chrono::system_clock::now();
42 auto ms =
43 std::chrono::duration_cast<std::chrono::milliseconds>(now - start_time_).count();
44 return static_cast<TimestampMS>(ms % UINT32_MAX);
45 }

Field Documentation

◆ start_time_

std::chrono::system_clock::time_point LibXR::WebAsmTimebase::start_time_
private

Definition at line 48 of file webasm_timebase.hpp.


The documentation for this class was generated from the following file: