Lines Matching defs:rule

531     // Parse the first rule
548 // Only support the rule using 7 continuous days
578 // Use DOW_GEQ_DOM rule with firstDay as the start date
582 // Check if BYMONTH + BYMONTHDAY + BYDAY rule with multiple RRULE lines.
594 // Note: To check valid date range across multiple rule is a little
622 // Check if BYMONTH + BYMONTHDAY + BYDAY rule
632 // support the rule
698 // Day in month rule, for example, 15th day in the month
701 // Nth day of week rule, for example, last Sunday
704 // First day of week after day of month rule, for example,
757 * Check if the DOW rule specified by month, weekInMonth and dayOfWeek is equivalent
795 * Convert the rule to its equivalent rule using WALL_TIME mode.
799 static DateTimeRule *toWallTimeRule(const DateTimeRule *rule, int32_t rawOffset, int32_t dstSavings, UErrorCode &status) {
803 if (rule->getTimeRuleType() == DateTimeRule::WALL_TIME) {
806 int32_t wallt = rule->getRuleMillisInDay();
807 if (rule->getTimeRuleType() == DateTimeRule::UTC_TIME) {
809 } else if (rule->getTimeRuleType() == DateTimeRule::STANDARD_TIME) {
824 month = rule->getRuleMonth();
825 dom = rule->getRuleDayOfMonth();
826 dow = rule->getRuleDayOfWeek();
827 dtype = rule->getDateRuleType();
831 // Convert to DOW_GEW_DOM or DOW_LEQ_DOM rule first
832 int32_t wim = rule->getRuleWeekInMonth();
862 // Create a new rule
1382 UBool isRRULE = false; // true if the rule is described by RRULE
1385 UDate firstStart = MAX_MILLIS; // the earliest rule start time
1510 // create a time zone rule
1511 LocalPointer<TimeZoneRule> rule;
1546 // Create the rule
1549 rule.adoptInsteadAndCheckErrorCode(
1552 rule.adoptInsteadAndCheckErrorCode(
1558 UBool startAvail = rule->getFirstStart(fromOffset, 0, actualStart);
1560 // save from offset information for the earliest rule
1579 rules.adoptElement(rule.orphan(), status);
1588 // Must have at least one rule
1593 // Create a initial rule
1630 // Only one final rule, only governs the initial rule,
1632 // add this transition rule
1635 // Normalize the final rule
1640 // Find the last non-final rule
1769 // Create a RuleBasedTimeZone with the subset rule
1824 // Create a RuleBasedTimeZone with the subset rule
2063 // Use a single rule if possible
2068 // Not equivalent rule - write out two different rules
2105 // Use a single rule if possible
2110 // Not equivalent rule - write out two different rules
2216 * Write start times defined by a DOM rule using VTIMEZONE RRULE
2250 * Write start times defined by a DOW rule using VTIMEZONE RRULE
2286 * Write start times defined by a DOW_GEQ_DOM rule using VTIMEZONE RRULE
2296 // Check if this rule can be converted to DOW rule
2298 // Can be represented by DOW rule
2305 // Can be represented by DOW rule with negative week number
2328 // Note: When a rule is separated into two, UNTIL attribute needs to be
2410 * Write start times defined by a DOW_LEQ_DOM rule using VTIMEZONE RRULE
2420 // Check if this rule can be converted to DOW rule
2422 // Can be represented by DOW rule
2426 // Can be represented by DOW rule with negative week number
2434 // Otherwise, convert this to DOW_GEQ_DOM rule
2441 * Write the final time zone rule using RRULE, with no UNTIL attribute
2444 VTimeZone::writeFinalRule(VTZWriter& writer, UBool isDst, const AnnualTimeZoneRule* rule,
2451 const DateTimeRule *dtrule = toWallTimeRule(rule->getRule(), fromRawOffset, fromDSTSavings, status);
2457 dtrule = rule->getRule();
2460 // If the rule's mills in a day is out of range, adjust start time.
2471 int32_t toOffset = rule->getRawOffset() + rule->getDSTSavings();
2473 rule->getName(name);