OpenLexocad  27.0
TimeInfo.h
Go to the documentation of this file.
1 #ifndef BASE_TIME_INFO_H
2 #define BASE_TIME_INFO_H
3 
4 #include <Base/base_defines.h>
5 #include <stdio.h>
6 #include <sys/timeb.h>
7 #include <time.h>
8 
9 namespace Base
10 {
12 {
13 public:
14  TimeInfo();
15  ~TimeInfo();
16 
18  void setToActual(void);
19 
20  void operator=(const TimeInfo& time);
21  bool operator==(const TimeInfo& time) const;
22  bool operator!=(const TimeInfo& time) const;
23 
24  bool operator<(const TimeInfo& time) const;
25  bool operator<=(const TimeInfo& time) const;
26  bool operator>=(const TimeInfo& time) const;
27  bool operator>(const TimeInfo& time) const;
28 
29  static const char* currentDateTimeString();
30 
31 protected:
32  struct _timeb timebuffer;
33 };
34 
35 
36 inline bool TimeInfo::operator!=(const TimeInfo& time) const
37 {
38  return (timebuffer.time != time.timebuffer.time || timebuffer.millitm != time.timebuffer.millitm);
39 }
40 
41 inline void TimeInfo::operator=(const TimeInfo& time)
42 {
43  timebuffer = time.timebuffer;
44 }
45 
46 inline bool TimeInfo::operator==(const TimeInfo& time) const
47 {
48  return (timebuffer.time == time.timebuffer.time && timebuffer.millitm == time.timebuffer.millitm);
49 }
50 
51 inline bool TimeInfo::operator<(const TimeInfo& time) const
52 {
53  if (timebuffer.time == time.timebuffer.time)
54  return timebuffer.millitm < time.timebuffer.millitm;
55  else
56  return timebuffer.time < time.timebuffer.time;
57  // return (timebuffer.time < time.timebuffer.time && timebuffer.millitm < time.timebuffer.millitm);
58 }
59 
60 inline bool TimeInfo::operator<=(const TimeInfo& time) const
61 {
62  if (timebuffer.time == time.timebuffer.time)
63  return timebuffer.millitm <= time.timebuffer.millitm;
64  else
65  return timebuffer.time <= time.timebuffer.time;
66  // return (timebuffer.time <= time.timebuffer.time && timebuffer.millitm <= time.timebuffer.millitm);
67 }
68 
69 inline bool TimeInfo::operator>=(const TimeInfo& time) const
70 {
71  if (timebuffer.time == time.timebuffer.time)
72  return timebuffer.millitm >= time.timebuffer.millitm;
73  else
74  return timebuffer.time >= time.timebuffer.time;
75  // return (timebuffer.time >= time.timebuffer.time && timebuffer.millitm >= time.timebuffer.millitm);
76 }
77 
78 inline bool TimeInfo::operator>(const TimeInfo& time) const
79 {
80  if (timebuffer.time == time.timebuffer.time)
81  return timebuffer.millitm > time.timebuffer.millitm;
82  else
83  return timebuffer.time > time.timebuffer.time;
84  // return (timebuffer.time > time.timebuffer.time && timebuffer.millitm > time.timebuffer.millitm);
85 }
86 
87 
88 
89 } // namespace Base
90 
91 #endif // BASE_TIME_INFO_H
#define BASE_EXPORT
Definition: base_defines.h:12
constexpr bool operator!=(const basic_hashed_string< Char > &lhs, const basic_hashed_string< Char > &rhs) ENTT_NOEXCEPT
Compares two hashed strings.
Definition: entt.hpp:570
bool operator>(const TimeInfo &time) const
Definition: TimeInfo.h:78
void operator=(const TimeInfo &time)
Definition: TimeInfo.h:41
bool operator>=(const TimeInfo &time) const
Definition: TimeInfo.h:69
bool operator<=(const TimeInfo &time) const
Definition: TimeInfo.h:60
bool operator!=(const TimeInfo &time) const
Definition: TimeInfo.h:36
bool operator<(const TimeInfo &time) const
Definition: TimeInfo.h:51
Definition: TimeInfo.h:11
Definition: AbstractXMLReader.h:8
bool operator==(const TimeInfo &time) const
Definition: TimeInfo.h:46
struct _timeb timebuffer
Definition: TimeInfo.h:32