/*
******************************************************************************
-* Copyright (C) 1997-2004, International Business Machines
+* Copyright (C) 1997-2009, International Business Machines
* Corporation and others. All Rights Reserved.
******************************************************************************
* file name: nfrs.h
UBool operator!=(const NFRuleSet& rhs) const { return !operator==(rhs); }
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");
+
+ 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");
+
+ return ( name.indexOf(numberingYear) == -1 && name.indexOf(ordinal) == -1 );
+ }
+
UBool isFractionRuleSet() const { return fIsFractionRuleSet; }
void getName(UnicodeString& result) const { result.setTo(name); }
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) const;
+ UBool parse(const UnicodeString& text, ParsePosition& pos, double upperBound, Formattable& result, UBool lenient=FALSE) const;
void appendRules(UnicodeString& result) const; // toString
// convert n to digit string in buffer, return length of string
uint32_t util64_tou(int64_t n, UChar* buffer, uint32_t buflen, uint32_t radix = 10, UBool raw = FALSE);
-int64_t util64_utoi(const UChar* str, uint32_t radix = 10);
#ifdef RBNF_DEBUG
+int64_t util64_utoi(const UChar* str, uint32_t radix = 10);
uint32_t util64_toa(int64_t n, char* buffer, uint32_t buflen, uint32_t radix = 10, UBool raw = FALSE);
int64_t util64_atoi(const char* str, uint32_t radix);
#endif