Moved Timer impl back to cpp
(I thought it wasn't included on the non-main path, but it is)
diff --git a/include/internal/catch_timer.cpp b/include/internal/catch_timer.cpp
index fad86f8..ca09d7b 100644
--- a/include/internal/catch_timer.cpp
+++ b/include/internal/catch_timer.cpp
@@ -16,4 +16,21 @@
return std::chrono::duration_cast<std::chrono::nanoseconds>( std::chrono::high_resolution_clock::now().time_since_epoch() ).count();
}
+ void Timer::start() {
+ m_nanoseconds = getCurrentNanosecondsSinceEpoch();
+ }
+ auto Timer::getElapsedNanoseconds() const -> unsigned int {
+ return static_cast<unsigned int>(getCurrentNanosecondsSinceEpoch() - m_nanoseconds);
+ }
+ auto Timer::getElapsedMicroseconds() const -> unsigned int {
+ return static_cast<unsigned int>(getElapsedNanoseconds()/1000);
+ }
+ auto Timer::getElapsedMilliseconds() const -> unsigned int {
+ return static_cast<unsigned int>(getElapsedMicroseconds()/1000);
+ }
+ auto Timer::getElapsedSeconds() const -> double {
+ return getElapsedMicroseconds()/1000000.0;
+ }
+
+
} // namespace Catch
diff --git a/include/internal/catch_timer.h b/include/internal/catch_timer.h
index d9c381c..0918286 100644
--- a/include/internal/catch_timer.h
+++ b/include/internal/catch_timer.h
@@ -17,21 +17,11 @@
class Timer {
uint64_t m_nanoseconds = 0;
public:
- void start() {
- m_nanoseconds = getCurrentNanosecondsSinceEpoch();
- }
- auto getElapsedNanoseconds() const -> unsigned int {
- return static_cast<unsigned int>(getCurrentNanosecondsSinceEpoch() - m_nanoseconds);
- }
- auto getElapsedMicroseconds() const -> unsigned int {
- return static_cast<unsigned int>(getElapsedNanoseconds()/1000);
- }
- auto getElapsedMilliseconds() const -> unsigned int {
- return static_cast<unsigned int>(getElapsedMicroseconds()/1000);
- }
- auto getElapsedSeconds() const -> double {
- return getElapsedMicroseconds()/1000000.0;
- }
+ void start();
+ auto getElapsedNanoseconds() const -> unsigned int;
+ auto getElapsedMicroseconds() const -> unsigned int;
+ auto getElapsedMilliseconds() const -> unsigned int;
+ auto getElapsedSeconds() const -> double;
};
} // namespace Catch