ZED Open Capture  v0.6.0
Low level camera driver for the ZED stereo camera family
stopwatch.hpp
Go to the documentation of this file.
1 //
3 // Copyright (c) 2021, STEREOLABS.
4 //
5 // All rights reserved.
6 //
7 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
8 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
9 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
10 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
11 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
12 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
13 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
14 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
15 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
16 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
17 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
18 //
20 
21 #ifndef STOPWATCH_HPP
22 #define STOPWATCH_HPP
23 
24 #include <chrono>
25 
26 namespace sl_oc {
27 namespace tools {
28 
33 class StopWatch
34 {
35 public:
40  StopWatch(){tic();}
41  virtual ~StopWatch(){};
42 
46  void tic()
47  {
48  mStartTime = std::chrono::steady_clock::now(); // Set the start time point
49  }
50 
55  double toc()
56  {
57  auto now = std::chrono::steady_clock::now();
58  double elapsed_usec = std::chrono::duration_cast<std::chrono::microseconds>(now - mStartTime).count();
59  return elapsed_usec/1e6;
60  }
61 
62 private:
63  std::chrono::steady_clock::time_point mStartTime;
64 };
65 
66 } // namespace oc_tools
67 } // namespace sl_oc
68 
69 #endif //STOPWATCH_HPP
Stop Timer used to measure time intervals.
Definition: stopwatch.hpp:34
double toc()
Calculates the seconds elapsed from the last tic.
Definition: stopwatch.hpp:55
StopWatch()
StopWatch constructor. Automatically starts time measurement.
Definition: stopwatch.hpp:40
void tic()
Set the beginning time of the time measurement.
Definition: stopwatch.hpp:46