Blame view

src/Parameters/TimeStamp.hh 1.86 KB
fbe3c2bb   Benjamin Renard   First commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
/**
 * TimeStamp.hh
 *
 *  Created on: Jan 18, 2013
 *      Author: AKKA IS
 */

#ifndef TIMESTAMP_HH_
#define TIMESTAMP_HH_

namespace AMDA {
namespace Parameters {

	/**
	 * @brief Time stamp of constructor file object
	 * @details must contain the last time of all file object which can modify the type of ParamData of Parameter
	 */
	class TimeStamp {
	public:
		/**
		 * @brief Default constructor
		 */
		TimeStamp():_time(0) {}

		/**
		 * @brief Constructor by param
		 */
		TimeStamp(const time_t &pTime):_time(pTime) {}

		/**
		 * @brief Constructor by copy
		 */
		TimeStamp(const TimeStamp &pTime):_time(pTime._time) {}

		/**
		 * @brief Comparison operator
		 */
		bool operator>(const TimeStamp &pTime) const { return _time > pTime._time;}

		/**
		 * @brief Comparison operator
		 */
		bool operator<(const TimeStamp &pTime) const { return _time < pTime._time;}

		/**
		 * @brief Comparison operator
		 */
		bool operator>=(const TimeStamp &pTime) const { return _time >= pTime._time;}

		/**
		 * @brief Comparison operator
		 */
		bool operator<=(const TimeStamp &pTime) const { return _time <= pTime._time;}

		/**
		 * @brief Comparison operator
		 */
		bool operator==(const TimeStamp &pTime) const { return _time == pTime._time;}

		/**
		 * @brief Comparison operator
		 */
		bool operator!=(const TimeStamp &pTime) const { return _time != pTime._time;}

		/**
		 * @brief setter operator
		 */
		TimeStamp &operator=(const time_t &pTime)  {  _time = pTime; return *this;}

		/**
		 * @brief copy operator
		 */
		TimeStamp &operator=(const TimeStamp &pTime) {  _time = pTime._time; return *this;}

	private:
		/**
		 * @brief time
		 * @details last time of all file object which can modify the type of ParamData of Parameter
		 * or 0 if there are no depend object
		 */
		time_t _time;
	};


} /* namespace Parameterss */
} /* namespace AMDA */
#endif /* TIMESTAMP_HH_ */