123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208 |
- #ifndef NUMSYS
- #define NUMSYS
- #include "unicode/utypes.h"
- #define NUMSYS_NAME_CAPACITY 8
- #if !UCONFIG_NO_FORMATTING
- #include "unicode/format.h"
- #include "unicode/uobject.h"
- U_NAMESPACE_BEGIN
- class U_I18N_API NumberingSystem : public UObject {
- public:
-
- NumberingSystem();
-
- NumberingSystem(const NumberingSystem& other);
-
- virtual ~NumberingSystem();
-
- static NumberingSystem* U_EXPORT2 createInstance(const Locale & inLocale, UErrorCode& status);
-
- static NumberingSystem* U_EXPORT2 createInstance(UErrorCode& status);
-
- static NumberingSystem* U_EXPORT2 createInstance(int32_t radix, UBool isAlgorithmic, const UnicodeString& description, UErrorCode& status );
-
- static StringEnumeration * U_EXPORT2 getAvailableNames(UErrorCode& status);
-
- static NumberingSystem* U_EXPORT2 createInstanceByName(const char* name, UErrorCode& status);
-
- int32_t getRadix() const;
-
- const char * getName() const;
-
- virtual UnicodeString getDescription() const;
-
- UBool isAlgorithmic() const;
-
- static UClassID U_EXPORT2 getStaticClassID(void);
-
- virtual UClassID getDynamicClassID() const;
- private:
- UnicodeString desc;
- int32_t radix;
- UBool algorithmic;
- char name[NUMSYS_NAME_CAPACITY+1];
- void setRadix(int32_t radix);
- void setAlgorithmic(UBool algorithmic);
- void setDesc(UnicodeString desc);
- void setName(const char* name);
- static UBool isValidDigitString(const UnicodeString &str);
- UBool hasContiguousDecimalDigits() const;
- };
- U_NAMESPACE_END
- #endif
- #endif
|