123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163 |
- // © 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
- *
- *******************************************************************************
- */
- #ifndef __DTINTRV_H__
- #define __DTINTRV_H__
- #include "unicode/utypes.h"
- #if U_SHOW_CPLUSPLUS_API
- #include "unicode/uobject.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();
- /**
- * 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() 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
- #endif /* U_SHOW_CPLUSPLUS_API */
- #endif
|