mirror of
				https://github.com/catchorg/Catch2.git
				synced 2025-10-31 20:27:11 +01:00 
			
		
		
		
	Made most of Timer class inline - and export getCurrentMicrosecondsSinceEpoch()
This commit is contained in:
		| @@ -12,23 +12,8 @@ | ||||
|  | ||||
| namespace Catch { | ||||
|  | ||||
|     namespace { | ||||
|         uint64_t getCurrentMicrosecondsSinceEpoch() { | ||||
|             return std::chrono::duration_cast<std::chrono::microseconds>( std::chrono::high_resolution_clock::now().time_since_epoch() ).count(); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|     void Timer::start() { | ||||
|         m_microSeconds = getCurrentMicrosecondsSinceEpoch(); | ||||
|     } | ||||
|     unsigned int Timer::getElapsedMicroseconds() const { | ||||
|         return static_cast<unsigned int>(getCurrentMicrosecondsSinceEpoch() - m_microSeconds); | ||||
|     } | ||||
|     unsigned int Timer::getElapsedMilliseconds() const { | ||||
|         return static_cast<unsigned int>(getElapsedMicroseconds()/1000); | ||||
|     } | ||||
|     double Timer::getElapsedSeconds() const { | ||||
|         return getElapsedMicroseconds()/1000000.0; | ||||
|     auto getCurrentMicrosecondsSinceEpoch() -> uint64_t { | ||||
|         return std::chrono::duration_cast<std::chrono::microseconds>( std::chrono::high_resolution_clock::now().time_since_epoch() ).count(); | ||||
|     } | ||||
|  | ||||
| } // namespace Catch | ||||
|   | ||||
| @@ -11,15 +11,24 @@ | ||||
| #include <stdint.h> | ||||
|  | ||||
| namespace Catch { | ||||
|     class Timer { | ||||
|     public: | ||||
|         void start(); | ||||
|         unsigned int getElapsedMicroseconds() const; | ||||
|         unsigned int getElapsedMilliseconds() const; | ||||
|         double getElapsedSeconds() const; | ||||
|  | ||||
|     private: | ||||
|     auto getCurrentMicrosecondsSinceEpoch() -> uint64_t; | ||||
|  | ||||
|     class Timer { | ||||
|         uint64_t m_microSeconds = 0; | ||||
|     public: | ||||
|         void start() { | ||||
|            m_microSeconds = getCurrentMicrosecondsSinceEpoch(); | ||||
|         } | ||||
|         auto getElapsedMicroseconds() const -> unsigned int { | ||||
|             return static_cast<unsigned int>(getCurrentMicrosecondsSinceEpoch() - m_microSeconds); | ||||
|         } | ||||
|         auto getElapsedMilliseconds() const -> unsigned int { | ||||
|             return static_cast<unsigned int>(getElapsedMicroseconds()/1000); | ||||
|         } | ||||
|         auto getElapsedSeconds() const -> double { | ||||
|             return getElapsedMicroseconds()/1000000.0; | ||||
|         } | ||||
|     }; | ||||
|  | ||||
| } // namespace Catch | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Phil Nash
					Phil Nash