GitHub Actions: Try MSVC builds with /std:c++17 and 20
[ACE_TAO.git] / ACE / ace / Date_Time.h
blob4c3484a727e69d4643e166cf1ed5eb62a0b011b7
1 // -*- C++ -*-
3 //==========================================================================
4 /**
5 * @file Date_Time.h
7 * @author Tim Harrison (harrison@cs.wustl.edu) (and he's darn proud of this ;-))
8 */
9 //==========================================================================
11 #ifndef ACE_DATE_TIME_H
12 #define ACE_DATE_TIME_H
13 #include /**/ "ace/pre.h"
15 #include /**/ "ace/ACE_export.h"
17 #if !defined (ACE_LACKS_PRAGMA_ONCE)
18 # pragma once
19 #endif /* ACE_LACKS_PRAGMA_ONCE */
21 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
23 class ACE_Time_Value;
25 /**
26 * @class ACE_Date_Time
28 * @brief System independent representation of date and time.
30 class ACE_Export ACE_Date_Time
32 public:
33 /// Constructor initializes current time/date info.
34 ACE_Date_Time (void);
36 /// Constructor initializes with the given ACE_Time_Value
37 explicit ACE_Date_Time (const ACE_Time_Value& timevalue);
39 /// Constructor with init values, no check for validity
40 /// Set/get portions of ACE_Date_Time, no check for validity.
41 ACE_Date_Time (long day,
42 long month = 0,
43 long year = 0,
44 long hour = 0,
45 long minute = 0,
46 long second = 0,
47 long microsec = 0,
48 long wday = 0);
50 /// Update to the current time/date.
51 void update (void);
53 /// Update to the given ACE_Time_Value
54 void update (const ACE_Time_Value& timevalue);
56 /// Get day.
57 long day (void) const;
59 /// Set day.
60 void day (long day);
62 /// Get month.
63 long month (void) const;
65 /// Set month.
66 void month (long month);
68 /// Get year.
69 long year (void) const;
71 /// Set year.
72 void year (long year);
74 /// Get hour.
75 long hour (void) const;
77 /// Set hour.
78 void hour (long hour);
80 /// Get minute.
81 long minute (void) const;
83 /// Set minute.
84 void minute (long minute);
86 /// Get second.
87 long second (void) const;
89 /// Set second.
90 void second (long second);
92 /// Get microsec.
93 long microsec (void) const;
95 /// Set microsec.
96 void microsec (long microsec);
98 /// Get weekday.
99 long weekday (void) const;
101 /// Set weekday.
102 void weekday (long wday);
104 private:
105 long day_;
106 long month_;
107 long year_;
108 long hour_;
109 long minute_;
110 long second_;
111 long microsec_;
112 long wday_;
115 ACE_END_VERSIONED_NAMESPACE_DECL
117 #if defined (__ACE_INLINE__)
118 #include "ace/Date_Time.inl"
119 #endif /* __ACE_INLINE__ */
121 #include /**/ "ace/post.h"
122 #endif /* ACE_DATE_TIME_H */