FastMM documentation
FastMM C++ API 0.6.0
Public headers, tier 1 and tier 2
Loading...
Searching...
No Matches
fastmm::SimClock Class Reference

Deterministic clock for sim/backtest/replay. 1 cycle == 1 ns. More...

#include <fastmm/core/time.hpp>

Public Member Functions

 SimClock () noexcept=default
 
 SimClock (Timestamp start) noexcept
 
Timestamp now () const noexcept
 
Cycles cycles () const noexcept
 
Timestamp to_timestamp (Cycles c) const noexcept
 
std::int64_t cycles_to_ns (std::uint64_t dc) const noexcept
 
void set (Timestamp t) noexcept
 
void advance (Duration d) noexcept
 
void jump (Timestamp t) noexcept
 Replay only: follows a recorded engine clock, which may have stepped backwards.
 

Detailed Description

Deterministic clock for sim/backtest/replay. 1 cycle == 1 ns.

Constructor & Destructor Documentation

◆ SimClock() [1/2]

fastmm::SimClock::SimClock ( )
defaultnoexcept

◆ SimClock() [2/2]

fastmm::SimClock::SimClock ( Timestamp  start)
inlineexplicitnoexcept

Member Function Documentation

◆ now()

Timestamp fastmm::SimClock::now ( ) const
inlinenoexcept

◆ cycles()

Cycles fastmm::SimClock::cycles ( ) const
inlinenoexcept

◆ to_timestamp()

Timestamp fastmm::SimClock::to_timestamp ( Cycles  c) const
inlinenoexcept

◆ cycles_to_ns()

std::int64_t fastmm::SimClock::cycles_to_ns ( std::uint64_t  dc) const
inlinenoexcept

◆ set()

void fastmm::SimClock::set ( Timestamp  t)
inlinenoexcept

◆ advance()

void fastmm::SimClock::advance ( Duration  d)
inlinenoexcept

◆ jump()

void fastmm::SimClock::jump ( Timestamp  t)
inlinenoexcept

Replay only: follows a recorded engine clock, which may have stepped backwards.