Ignition Common

API Reference

3.14.0
Timer.hh
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2016 Open Source Robotics Foundation
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  *
16 */
17 #ifndef IGNITION_COMMON_TIMER_HH_
18 #define IGNITION_COMMON_TIMER_HH_
19 
20 #include <ignition/common/Time.hh>
21 #include <ignition/common/Export.hh>
22 
23 namespace ignition
24 {
25  namespace common
26  {
29  class IGNITION_COMMON_VISIBLE Timer
30  {
32  public: Timer();
33 
35  public: virtual ~Timer();
36 
38  public: virtual void Start();
39 
41  public: virtual void Stop();
42 
45  public: bool Running() const;
46 
49  public: Time Elapsed() const;
50 
52  public: friend std::ostream &operator<<(std::ostream &out,
53  const ignition::common::Timer &t)
54  {
55  out << t.Elapsed();
56  return out;
57  }
58 
60  private: Time start;
61 
63  private: Time stop;
64 
66  private: bool running;
67  };
68  }
69 }
70 #endif
A Time class, can be used to hold wall- or sim-time. stored as sec and nano-sec.
Definition: Time.hh:34
A timer class, used to time things in real world walltime.
Definition: Timer.hh:30
virtual ~Timer()
Destructor.
friend std::ostream & operator<<(std::ostream &out, const Timer &t)
Stream operator friendly.
Definition: Timer.hh:52
bool Running() const
Returns true if the timer is running.
virtual void Start()
Start the timer.
Time Elapsed() const
Get the elapsed time.
virtual void Stop()
Stop the timer.
Forward declarations for the common classes.