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