- Main Page
- Related Pages
- Modules
- Data Structures
- Files

- Search for |

- File List
- Globals

# numsys.h

Go to the documentation of this file.

    00001 /*
    00002 *******************************************************************************
    00003 * Copyright (C) 2009, 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