- NFRuleSet(const NFRuleSet &other); // forbid copying of this class
- NFRuleSet &operator=(const NFRuleSet &other); // forbid copying of this class
+ UBool parse(const UnicodeString& text, ParsePosition& pos, double upperBound, uint32_t nonNumericalExecutedRuleMask, Formattable& result, UBool lenient=FALSE) const;
+
+ void appendRules(UnicodeString& result) const; // toString
+
+ void setDecimalFormatSymbols(const DecimalFormatSymbols &newSymbols, UErrorCode& status);
+
+ const RuleBasedNumberFormat *getOwner() const { return owner; }
+private:
+ const NFRule * findNormalRule(int64_t number) const;
+ const NFRule * findDoubleRule(double number) const;
+ const NFRule * findFractionRuleSetRule(double number) const;
+
+ friend class NFSubstitution;
+
+private:
+ UnicodeString name;
+ NFRuleList rules;
+ NFRule *nonNumericalRules[6];
+ RuleBasedNumberFormat *owner;
+ NFRuleList fractionRules;
+ UBool fIsFractionRuleSet;
+ UBool fIsPublic;
+ UBool fIsParseable;
+
+ NFRuleSet(const NFRuleSet &other); // forbid copying of this class
+ NFRuleSet &operator=(const NFRuleSet &other); // forbid copying of this class