OLD | NEW |
| (Empty) |
1 /* | |
2 ******************************************************************************* | |
3 * Copyright (C) 2008-2009, International Business Machines Corporation and | |
4 * others. All Rights Reserved. | |
5 ******************************************************************************* | |
6 * | |
7 * File DTINTRV.H | |
8 * | |
9 ******************************************************************************* | |
10 */ | |
11 | |
12 #ifndef __DTINTRV_H__ | |
13 #define __DTINTRV_H__ | |
14 | |
15 #include "unicode/utypes.h" | |
16 #include "unicode/uobject.h" | |
17 | |
18 /** | |
19 * \file | |
20 * \brief C++ API: Date Interval data type | |
21 */ | |
22 | |
23 | |
24 U_NAMESPACE_BEGIN | |
25 | |
26 | |
27 /** | |
28 * This class represents a date interval. | |
29 * It is a pair of UDate representing from UDate 1 to UDate 2. | |
30 * @stable ICU 4.0 | |
31 **/ | |
32 class U_COMMON_API DateInterval : public UObject { | |
33 public: | |
34 | |
35 /** | |
36 * Construct a DateInterval given a from date and a to date. | |
37 * @param fromDate The from date in date interval. | |
38 * @param toDate The to date in date interval. | |
39 * @stable ICU 4.0 | |
40 */ | |
41 DateInterval(UDate fromDate, UDate toDate); | |
42 | |
43 /** | |
44 * destructor | |
45 * @stable ICU 4.0 | |
46 */ | |
47 virtual ~DateInterval(); | |
48 | |
49 /** | |
50 * Get the from date. | |
51 * @return the from date in dateInterval. | |
52 * @stable ICU 4.0 | |
53 */ | |
54 UDate getFromDate() const; | |
55 | |
56 /** | |
57 * Get the to date. | |
58 * @return the to date in dateInterval. | |
59 * @stable ICU 4.0 | |
60 */ | |
61 UDate getToDate() const; | |
62 | |
63 | |
64 /** | |
65 * Return the class ID for this class. This is useful only for comparing to | |
66 * a return value from getDynamicClassID(). For example: | |
67 * <pre> | |
68 * . Base* polymorphic_pointer = createPolymorphicObject(); | |
69 * . if (polymorphic_pointer->getDynamicClassID() == | |
70 * . erived::getStaticClassID()) ... | |
71 * </pre> | |
72 * @return The class ID for all objects of this class. | |
73 * @stable ICU 4.0 | |
74 */ | |
75 static UClassID U_EXPORT2 getStaticClassID(void); | |
76 | |
77 /** | |
78 * Returns a unique class ID POLYMORPHICALLY. Pure virtual override. This | |
79 * method is to implement a simple version of RTTI, since not all C++ | |
80 * compilers support genuine RTTI. Polymorphic operator==() and clone() | |
81 * methods call this method. | |
82 * | |
83 * @return The class ID for this object. All objects of a | |
84 * given class have the same class ID. Objects of | |
85 * other classes have different class IDs. | |
86 * @stable ICU 4.0 | |
87 */ | |
88 virtual UClassID getDynamicClassID(void) const; | |
89 | |
90 | |
91 /** | |
92 * Copy constructor. | |
93 * @stable ICU 4.0 | |
94 */ | |
95 DateInterval(const DateInterval& other); | |
96 | |
97 /** | |
98 * Default assignment operator | |
99 * @stable ICU 4.0 | |
100 */ | |
101 DateInterval& operator=(const DateInterval&); | |
102 | |
103 /** | |
104 * Equality operator. | |
105 * @return TRUE if the two DateIntervals are the same | |
106 * @stable ICU 4.0 | |
107 */ | |
108 virtual UBool operator==(const DateInterval& other) const; | |
109 | |
110 /** | |
111 * Non-equality operator | |
112 * @return TRUE if the two DateIntervals are not the same | |
113 * @stable ICU 4.0 | |
114 */ | |
115 UBool operator!=(const DateInterval& other) const; | |
116 | |
117 | |
118 /** | |
119 * clone this object. | |
120 * The caller owns the result and should delete it when done. | |
121 * @return a cloned DateInterval | |
122 * @stable ICU 4.0 | |
123 */ | |
124 virtual DateInterval* clone() const; | |
125 | |
126 private: | |
127 /** | |
128 * Default constructor, not implemented. | |
129 */ | |
130 DateInterval(); | |
131 | |
132 UDate fromDate; | |
133 UDate toDate; | |
134 | |
135 } ;// end class DateInterval | |
136 | |
137 | |
138 inline UDate | |
139 DateInterval::getFromDate() const { | |
140 return fromDate; | |
141 } | |
142 | |
143 | |
144 inline UDate | |
145 DateInterval::getToDate() const { | |
146 return toDate; | |
147 } | |
148 | |
149 | |
150 inline UBool | |
151 DateInterval::operator!=(const DateInterval& other) const { | |
152 return ( !operator==(other) ); | |
153 } | |
154 | |
155 | |
156 U_NAMESPACE_END | |
157 | |
158 #endif | |
OLD | NEW |