Time_.h#
Class for dealing with time in a cross-platform way.
Includes#
cstdint
Included By#
Namespaces#
Classes#
Source Code#
#pragma once
#include <cstdint>
// Required forward declarations
#if defined(__APPLE__)
struct mach_timebase_info;
#endif
namespace pvr {
class Time
{
public:
Time();
~Time();
void Reset();
uint64_t getElapsedNanoSecs() const;
uint64_t getElapsedMicroSecs() const;
float getElapsedMicroSecsF() const;
uint64_t getElapsedMilliSecs() const;
float getElapsedMilliSecsF() const;
uint64_t getElapsedSecs() const;
float getElapsedSecsF() const;
uint64_t getElapsedMins() const;
float getElapsedMinsF() const;
uint64_t getElapsedHours() const;
float getElapsedHoursF() const;
uint64_t getCurrentTimeNanoSecs() const;
uint64_t getCurrentTimeMicroSecs() const;
uint64_t getCurrentTimeMilliSecs() const;
uint64_t getCurrentTimeSecs() const;
uint64_t getCurrentTimeMins() const;
uint64_t getCurrentTimeHours() const;
private:
uint64_t getTimerFrequencyHertz() const;
uint64_t _startTime;
uint64_t _timerFrequency;
#if defined(__APPLE__)
struct mach_timebase_info* _timeBaseInfo;
#endif
};
} // namespace pvr