LifeV
WallClock.hpp
Go to the documentation of this file.
1 //@HEADER
2 /*
3 *******************************************************************************
4 
5 Copyright (C) 2004, 2005, 2007 EPFL, Politecnico di Milano, INRIA
6 Copyright (C) 2010 EPFL, Politecnico di Milano, Emory University
7 
8 This file is part of LifeV.
9 
10 LifeV is free software; you can redistribute it and/or modify
11 it under the terms of the GNU Lesser General Public License as published by
12 the Free Software Foundation, either version 3 of the License, or
13 (at your option) any later version.
14 
15 LifeV is distributed in the hope that it will be useful,
16 but WITHOUT ANY WARRANTY; without even the implied warranty of
17 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18 Lesser General Public License for more details.
19 
20 You should have received a copy of the GNU Lesser General Public License
21 along with LifeV. If not, see <http://www.gnu.org/licenses/>.
22 
23 *******************************************************************************
24 */
25 //@HEADER
26 /*!
27  @file
28  @brief Wall clock timer class
29 
30  @date 01.10.2010
31  @author Radu Popescu <radu.popescu@epfl.ch>
32 
33  @maintainer Radu Popescu <radu.popescu@epfl.ch>
34 */
35 
36 #ifndef WALL_CLOCK_H
37 #define WALL_CLOCK_H 1
38 
39 #include <sys/time.h>
40 
41 namespace LifeV
42 {
43 
44 //! Wall clock timer class
45 /*!
46  ... totul e minunat ...
47 */
48 class WallClock
49 {
50 public:
51  //! @name Public typedefs
52  //@{
53  typedef struct timeval time_Type;
54  //@}
55 
56  //! @name Constructor and destructor
57  //@{
58  WallClock();
59  ~WallClock();
60  //@}
61 
62  //! @name Public methods
63  //@{
64  void start();
65  void stop();
66  void reset();
67  //@}
68 
69  //! @name Get methods
70  //@{
71  const double& elapsedTime() const
72  {
73  return M_elapsedTime;
74  }
75  const double& diff() const
76  {
77  return M_elapsedTime;
78  }
79  //@}
80 
81 private:
82  // Disabled copy constructor and assignment operator
83  WallClock (const WallClock&);
84  WallClock& operator= (const WallClock&);
85 
88 
89  double M_elapsedTime;
90 };
91 
92 } // namespacec LifeV
93 
94 #endif // WALL_CLOCK_H
WallClock & operator=(const WallClock &)
time_Type M_stopTime
Definition: WallClock.hpp:87
time_Type M_startTime
Definition: WallClock.hpp:86
Wall clock timer class.
Definition: WallClock.hpp:48
void updateInverseJacobian(const UInt &iQuadPt)
WallClock(const WallClock &)
const double & diff() const
Definition: WallClock.hpp:75
double M_elapsedTime
Definition: WallClock.hpp:89
struct timeval time_Type
Definition: WallClock.hpp:53
const double & elapsedTime() const
Definition: WallClock.hpp:71