Index: icu46/source/i18n/dtrule.cpp |
=================================================================== |
--- icu46/source/i18n/dtrule.cpp (revision 0) |
+++ icu46/source/i18n/dtrule.cpp (revision 0) |
@@ -0,0 +1,139 @@ |
+/* |
+******************************************************************************* |
+* Copyright (C) 2007-2010, International Business Machines Corporation and |
+* others. All Rights Reserved. |
+******************************************************************************* |
+*/ |
+ |
+#include <typeinfo> // for 'typeid' to work |
+ |
+#include "unicode/utypes.h" |
+ |
+#if !UCONFIG_NO_FORMATTING |
+ |
+#include "unicode/dtrule.h" |
+ |
+U_NAMESPACE_BEGIN |
+ |
+UOBJECT_DEFINE_RTTI_IMPLEMENTATION(DateTimeRule) |
+ |
+DateTimeRule::DateTimeRule(int32_t month, |
+ int32_t dayOfMonth, |
+ int32_t millisInDay, |
+ TimeRuleType timeType) |
+: fMonth(month), fDayOfMonth(dayOfMonth), fDayOfWeek(0), fWeekInMonth(0), fMillisInDay(millisInDay), |
+ fDateRuleType(DateTimeRule::DOM), fTimeRuleType(timeType) { |
+} |
+ |
+DateTimeRule::DateTimeRule(int32_t month, |
+ int32_t weekInMonth, |
+ int32_t dayOfWeek, |
+ int32_t millisInDay, |
+ TimeRuleType timeType) |
+: fMonth(month), fDayOfMonth(0), fDayOfWeek(dayOfWeek), fWeekInMonth(weekInMonth), fMillisInDay(millisInDay), |
+ fDateRuleType(DateTimeRule::DOW), fTimeRuleType(timeType) { |
+} |
+ |
+DateTimeRule::DateTimeRule(int32_t month, |
+ int32_t dayOfMonth, |
+ int32_t dayOfWeek, |
+ UBool after, |
+ int32_t millisInDay, |
+ TimeRuleType timeType) |
+: UObject(), |
+ fMonth(month), fDayOfMonth(dayOfMonth), fDayOfWeek(dayOfWeek), fWeekInMonth(0), fMillisInDay(millisInDay), |
+ fTimeRuleType(timeType) { |
+ if (after) { |
+ fDateRuleType = DateTimeRule::DOW_GEQ_DOM; |
+ } else { |
+ fDateRuleType = DateTimeRule::DOW_LEQ_DOM; |
+ } |
+} |
+ |
+DateTimeRule::DateTimeRule(const DateTimeRule& source) |
+: UObject(source), |
+ fMonth(source.fMonth), fDayOfMonth(source.fDayOfMonth), fDayOfWeek(source.fDayOfWeek), |
+ fWeekInMonth(source.fWeekInMonth), fMillisInDay(source.fMillisInDay), |
+ fDateRuleType(source.fDateRuleType), fTimeRuleType(source.fTimeRuleType) { |
+} |
+ |
+DateTimeRule::~DateTimeRule() { |
+} |
+ |
+DateTimeRule* |
+DateTimeRule::clone() const { |
+ return new DateTimeRule(*this); |
+} |
+ |
+DateTimeRule& |
+DateTimeRule::operator=(const DateTimeRule& right) { |
+ if (this != &right) { |
+ fMonth = right.fMonth; |
+ fDayOfMonth = right.fDayOfMonth; |
+ fDayOfWeek = right.fDayOfWeek; |
+ fWeekInMonth = right.fWeekInMonth; |
+ fMillisInDay = right.fMillisInDay; |
+ fDateRuleType = right.fDateRuleType; |
+ fTimeRuleType = right.fTimeRuleType; |
+ } |
+ return *this; |
+} |
+ |
+UBool |
+DateTimeRule::operator==(const DateTimeRule& that) const { |
+ return ((this == &that) || |
+ (typeid(*this) == typeid(that) && |
+ fMonth == that.fMonth && |
+ fDayOfMonth == that.fDayOfMonth && |
+ fDayOfWeek == that.fDayOfWeek && |
+ fWeekInMonth == that.fWeekInMonth && |
+ fMillisInDay == that.fMillisInDay && |
+ fDateRuleType == that.fDateRuleType && |
+ fTimeRuleType == that.fTimeRuleType)); |
+} |
+ |
+UBool |
+DateTimeRule::operator!=(const DateTimeRule& that) const { |
+ return !operator==(that); |
+} |
+ |
+DateTimeRule::DateRuleType |
+DateTimeRule::getDateRuleType(void) const { |
+ return fDateRuleType; |
+} |
+ |
+DateTimeRule::TimeRuleType |
+DateTimeRule::getTimeRuleType(void) const { |
+ return fTimeRuleType; |
+} |
+ |
+int32_t |
+DateTimeRule::getRuleMonth(void) const { |
+ return fMonth; |
+} |
+ |
+int32_t |
+DateTimeRule::getRuleDayOfMonth(void) const { |
+ return fDayOfMonth; |
+} |
+ |
+int32_t |
+DateTimeRule::getRuleDayOfWeek(void) const { |
+ return fDayOfWeek; |
+} |
+ |
+int32_t |
+DateTimeRule::getRuleWeekInMonth(void) const { |
+ return fWeekInMonth; |
+} |
+ |
+int32_t |
+DateTimeRule::getRuleMillisInDay(void) const { |
+ return fMillisInDay; |
+} |
+ |
+U_NAMESPACE_END |
+ |
+#endif /* #if !UCONFIG_NO_FORMATTING */ |
+ |
+//eof |
Property changes on: icu46/source/i18n/dtrule.cpp |
___________________________________________________________________ |
Added: svn:eol-style |
+ LF |