| /* |
| ****************************************************************************** |
| * |
| * Copyright (C) 2010, International Business Machines |
| * Corporation and others. All Rights Reserved. |
| * |
| ****************************************************************************** |
| * |
| * File decnumstr.h |
| * |
| * A simple eight bit char string class. |
| * Used by decimal number formatting to hold the string form of numbers. |
| * |
| * For internal ICU use only. Not public API. |
| * |
| * TODO: ICU should have a light-weight general purpose (char *) string class |
| * available for internal use; this would eliminate the |
| * need for this class. |
| */ |
| |
| #ifndef DECNUMSTR_H |
| #define DECNUMSTR_H |
| |
| #include "unicode/utypes.h" |
| #include "unicode/stringpiece.h" |
| #include "cmemory.h" |
| |
| U_NAMESPACE_BEGIN |
| |
| class DecimalNumberString: public UMemory { |
| public: |
| DecimalNumberString(); |
| ~DecimalNumberString(); |
| |
| DecimalNumberString(const StringPiece &, UErrorCode &status); |
| |
| DecimalNumberString &append(char, UErrorCode &status); |
| DecimalNumberString &append(const StringPiece &s, UErrorCode &status); |
| char &operator[] (int32_t index); |
| const char &operator[] (int32_t index) const; |
| int32_t length() const; |
| void setLength(int32_t length, UErrorCode &status); |
| operator StringPiece() const; |
| private: |
| int32_t fLength; |
| MaybeStackArray<char, 40> fText; |
| |
| UBool ensureCapacity(int32_t neededSize, UErrorCode &status); |
| }; |
| |
| U_NAMESPACE_END |
| |
| #endif // DECNUMSTR_H |
| |