numsys.h

Go to the documentation of this file.
00001 /*
00002 *******************************************************************************
00003 * Copyright (C) 2010, International Business Machines Corporation and
00004 * others. All Rights Reserved.
00005 *******************************************************************************
00006 *
00007 *
00008 * File NUMSYS.H
00009 *
00010 * Modification History:*
00011 *   Date        Name        Description
00012 *
00013 ********************************************************************************
00014 */
00015 
00016 #ifndef NUMSYS
00017 #define NUMSYS
00018 
00019 #include "unicode/utypes.h"
00020 
00026 #if !UCONFIG_NO_FORMATTING
00027 
00028 
00029 #include "unicode/format.h"
00030 #include "unicode/uobject.h"
00031 
00032 U_NAMESPACE_BEGIN
00033 
00049 class U_I18N_API NumberingSystem : public UObject {
00050 public:
00051 
00057     NumberingSystem();
00058 
00063     NumberingSystem(const NumberingSystem& other);
00064 
00069     virtual ~NumberingSystem();
00070 
00077     static NumberingSystem* U_EXPORT2 createInstance(const Locale & inLocale, UErrorCode& status);
00078 
00083     static NumberingSystem* U_EXPORT2 createInstance(UErrorCode& status);
00084 
00094     static NumberingSystem* U_EXPORT2 createInstance(int32_t radix, UBool isAlgorithmic, const UnicodeString& description, UErrorCode& status );
00095 
00101      static StringEnumeration * U_EXPORT2 getAvailableNames(UErrorCode& status);
00102 
00109     static NumberingSystem* U_EXPORT2 createInstanceByName(const char* name, UErrorCode& status);
00110 
00111 
00116     int32_t getRadix();
00117 
00124     virtual UnicodeString getDescription();
00125 
00126 
00127 
00135     UBool isAlgorithmic() const;
00136 
00143     static UClassID U_EXPORT2 getStaticClassID(void);
00144 
00150     virtual UClassID getDynamicClassID() const;
00151 
00152 
00153 private:
00154     UnicodeString   desc;
00155     int32_t         radix;
00156     UBool           algorithmic;
00157 
00158     void setRadix(int32_t radix);
00159 
00160     void setAlgorithmic(UBool algorithmic);
00161 
00162     void setDesc(UnicodeString desc);
00163 
00164     static UBool isValidDigitString(const UnicodeString &str);
00165 
00166     UBool hasContiguousDecimalDigits() const;
00167 };
00168 
00169 U_NAMESPACE_END
00170 
00171 #endif /* #if !UCONFIG_NO_FORMATTING */
00172 
00173 #endif // _NUMSYS
00174 //eof

Generated on Tue Apr 27 15:10:34 2010 for ICU 4.4.1 by  doxygen 1.4.7