Spaces:
Running
Running
// © 2016 and later: Unicode, Inc. and others. | |
// License & terms of use: http://www.unicode.org/copyright.html | |
/* | |
******************************************************************************* | |
* Copyright (C) 2008-2009, International Business Machines Corporation and | |
* others. All Rights Reserved. | |
******************************************************************************* | |
* | |
* File DTINTRV.H | |
* | |
******************************************************************************* | |
*/ | |
/** | |
* \file | |
* \brief C++ API: Date Interval data type | |
*/ | |
U_NAMESPACE_BEGIN | |
/** | |
* This class represents a date interval. | |
* It is a pair of UDate representing from UDate 1 to UDate 2. | |
* @stable ICU 4.0 | |
**/ | |
class U_COMMON_API DateInterval : public UObject { | |
public: | |
/** | |
* Construct a DateInterval given a from date and a to date. | |
* @param fromDate The from date in date interval. | |
* @param toDate The to date in date interval. | |
* @stable ICU 4.0 | |
*/ | |
DateInterval(UDate fromDate, UDate toDate); | |
/** | |
* destructor | |
* @stable ICU 4.0 | |
*/ | |
virtual ~DateInterval(); | |
/** | |
* Get the from date. | |
* @return the from date in dateInterval. | |
* @stable ICU 4.0 | |
*/ | |
inline UDate getFromDate() const; | |
/** | |
* Get the to date. | |
* @return the to date in dateInterval. | |
* @stable ICU 4.0 | |
*/ | |
inline UDate getToDate() const; | |
/** | |
* Return the class ID for this class. This is useful only for comparing to | |
* a return value from getDynamicClassID(). For example: | |
* <pre> | |
* . Base* polymorphic_pointer = createPolymorphicObject(); | |
* . if (polymorphic_pointer->getDynamicClassID() == | |
* . derived::getStaticClassID()) ... | |
* </pre> | |
* @return The class ID for all objects of this class. | |
* @stable ICU 4.0 | |
*/ | |
static UClassID U_EXPORT2 getStaticClassID(void); | |
/** | |
* Returns a unique class ID POLYMORPHICALLY. Pure virtual override. This | |
* method is to implement a simple version of RTTI, since not all C++ | |
* compilers support genuine RTTI. Polymorphic operator==() and clone() | |
* methods call this method. | |
* | |
* @return The class ID for this object. All objects of a | |
* given class have the same class ID. Objects of | |
* other classes have different class IDs. | |
* @stable ICU 4.0 | |
*/ | |
virtual UClassID getDynamicClassID(void) const override; | |
/** | |
* Copy constructor. | |
* @stable ICU 4.0 | |
*/ | |
DateInterval(const DateInterval& other); | |
/** | |
* Default assignment operator | |
* @stable ICU 4.0 | |
*/ | |
DateInterval& operator=(const DateInterval&); | |
/** | |
* Equality operator. | |
* @return true if the two DateIntervals are the same | |
* @stable ICU 4.0 | |
*/ | |
virtual bool operator==(const DateInterval& other) const; | |
/** | |
* Non-equality operator | |
* @return true if the two DateIntervals are not the same | |
* @stable ICU 4.0 | |
*/ | |
inline bool operator!=(const DateInterval& other) const; | |
/** | |
* clone this object. | |
* The caller owns the result and should delete it when done. | |
* @return a cloned DateInterval | |
* @stable ICU 4.0 | |
*/ | |
virtual DateInterval* clone() const; | |
private: | |
/** | |
* Default constructor, not implemented. | |
*/ | |
DateInterval() = delete; | |
UDate fromDate; | |
UDate toDate; | |
} ;// end class DateInterval | |
inline UDate | |
DateInterval::getFromDate() const { | |
return fromDate; | |
} | |
inline UDate | |
DateInterval::getToDate() const { | |
return toDate; | |
} | |
inline bool | |
DateInterval::operator!=(const DateInterval& other) const { | |
return ( !operator==(other) ); | |
} | |
U_NAMESPACE_END | |