]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/nfrs.h
ICU-551.51.4.tar.gz
[apple/icu.git] / icuSources / i18n / nfrs.h
index b4822075f05322737bdf82fb8bd65f131b7ec61a..769d3277efe8ed09e3ccd24c8578df66c6478240 100644 (file)
@@ -1,6 +1,6 @@
 /*
 ******************************************************************************
-*   Copyright (C) 1997-2009, International Business Machines
+*   Copyright (C) 1997-2014, International Business Machines
 *   Corporation and others.  All Rights Reserved.
 ******************************************************************************
 *   file name:  nfrs.h
 U_NAMESPACE_BEGIN
 
 class NFRuleSet : public UMemory {
- public:
-  NFRuleSet(UnicodeString* descriptions, int32_t index, UErrorCode& status);
-  void parseRules(UnicodeString& rules, const RuleBasedNumberFormat* owner, UErrorCode& status);
-  void makeIntoFractionRuleSet() { fIsFractionRuleSet = TRUE; }
+public:
+    NFRuleSet(UnicodeString* descriptions, int32_t index, UErrorCode& status);
+    void parseRules(UnicodeString& rules, const RuleBasedNumberFormat* owner, UErrorCode& status);
+    void makeIntoFractionRuleSet() { fIsFractionRuleSet = TRUE; }
 
-  ~NFRuleSet();
+    ~NFRuleSet();
 
-  UBool operator==(const NFRuleSet& rhs) const;
-  UBool operator!=(const NFRuleSet& rhs) const { return !operator==(rhs); }
+    UBool operator==(const NFRuleSet& rhs) const;
+    UBool operator!=(const NFRuleSet& rhs) const { return !operator==(rhs); }
 
-  UBool isPublic() const { return fIsPublic; }
+    UBool isPublic() const { return fIsPublic; }
 
-  UBool isParseable() const { 
-      UnicodeString prefixpart = UNICODE_STRING_SIMPLE("-prefixpart");
-      UnicodeString postfix = UNICODE_STRING_SIMPLE("-postfix");
-      UnicodeString postfx = UNICODE_STRING_SIMPLE("-postfx");
+    UBool isParseable() const { return fIsParseable; }
 
-      return ( name.indexOf(prefixpart) == -1 && name.indexOf(postfix) == -1 && name.indexOf(postfx) == -1 );
-  }
+    UBool isDecimalFormatRuleParseable() const { 
+        UnicodeString numberingYear = UNICODE_STRING_SIMPLE("spellout-numbering-year");
+        UnicodeString ordinal = UNICODE_STRING_SIMPLE("spellout-ordinal");
 
-  UBool isDecimalFormatRuleParseable() const { 
-      UnicodeString numberingYear = UNICODE_STRING_SIMPLE("spellout-numbering-year");
-      UnicodeString ordinal = UNICODE_STRING_SIMPLE("spellout-ordinal");
+        return ( name.indexOf(numberingYear) == -1 && name.indexOf(ordinal) == -1 );
+    }
 
-      return ( name.indexOf(numberingYear) == -1 && name.indexOf(ordinal) == -1 );
-  }
+    UBool isFractionRuleSet() const { return fIsFractionRuleSet; }
 
-  UBool isFractionRuleSet() const { return fIsFractionRuleSet; }
+    void  getName(UnicodeString& result) const { result.setTo(name); }
+    UBool isNamed(const UnicodeString& _name) const { return this->name == _name; }
 
-  void  getName(UnicodeString& result) const { result.setTo(name); }
-  UBool isNamed(const UnicodeString& _name) const { return this->name == _name; }
+    void  format(int64_t number, UnicodeString& toAppendTo, int32_t pos, UErrorCode& status) const;
+    void  format(double number, UnicodeString& toAppendTo, int32_t pos, UErrorCode& status) const;
 
-  void  format(int64_t number, UnicodeString& toAppendTo, int32_t pos) const;
-  void  format(double number, UnicodeString& toAppendTo, int32_t pos) const;
+    UBool parse(const UnicodeString& text, ParsePosition& pos, double upperBound, Formattable& result, UBool lenient=FALSE) const;
 
-  UBool parse(const UnicodeString& text, ParsePosition& pos, double upperBound, Formattable& result, UBool lenient=FALSE) const;
+    void appendRules(UnicodeString& result) const; // toString
 
-  void appendRules(UnicodeString& result) const; // toString
+private:
+    NFRule * findNormalRule(int64_t number) const;
+    NFRule * findDoubleRule(double number) const;
+    NFRule * findFractionRuleSetRule(double number) const;
 
- private:
-  NFRule * findNormalRule(int64_t number) const;
-  NFRule * findDoubleRule(double number) const;
-  NFRule * findFractionRuleSetRule(double number) const;
+private:
+    UnicodeString name;
+    NFRuleList rules;
+    NFRule *negativeNumberRule;
+    NFRule *fractionRules[3];
+    UBool fIsFractionRuleSet;
+    UBool fIsPublic;
+    UBool fIsParseable;
+    int32_t fRecursionCount;
 
- private:
-  UnicodeString name;
-  NFRuleList rules;
-  NFRule *negativeNumberRule;
-  NFRule *fractionRules[3];
-  UBool fIsFractionRuleSet;
-  UBool fIsPublic;
-  int32_t fRecursionCount;
-
-  NFRuleSet(const NFRuleSet &other); // forbid copying of this class
-  NFRuleSet &operator=(const NFRuleSet &other); // forbid copying of this class
+    NFRuleSet(const NFRuleSet &other); // forbid copying of this class
+    NFRuleSet &operator=(const NFRuleSet &other); // forbid copying of this class
 };
 
 // utilities from old llong.h