| /* |
| ******************************************************************************* |
| * Copyright (C) 2015, International Business Machines |
| * Corporation and others. All Rights Reserved. |
| ******************************************************************************* |
| * digitaffix.h |
| * |
| * created on: 2015jan06 |
| * created by: Travis Keep |
| */ |
| |
| #ifndef __DIGITAFFIX_H__ |
| #define __DIGITAFFIX_H__ |
| |
| #include "unicode/uobject.h" |
| |
| #if !UCONFIG_NO_FORMATTING |
| |
| #include "unicode/unistr.h" |
| #include "unicode/unum.h" |
| #include "unicode/utypes.h" |
| |
| U_NAMESPACE_BEGIN |
| |
| class FieldPositionHandler; |
| |
| /** |
| * A prefix or suffix of a formatted number. |
| */ |
| class U_I18N_API DigitAffix : public UMemory { |
| public: |
| |
| /** |
| * Creates an empty DigitAffix. |
| */ |
| DigitAffix(); |
| |
| /** |
| * Creates a DigitAffix containing given UChars where all of it has |
| * a field type of fieldId. |
| */ |
| DigitAffix( |
| const UChar *value, |
| int32_t charCount, |
| int32_t fieldId=UNUM_FIELD_COUNT); |
| |
| /** |
| * Makes this affix be the empty string. |
| */ |
| void remove(); |
| |
| /** |
| * Append value to this affix. If fieldId is present, the appended |
| * string is considered to be the type fieldId. |
| */ |
| void appendUChar(UChar value, int32_t fieldId=UNUM_FIELD_COUNT); |
| |
| /** |
| * Append value to this affix. If fieldId is present, the appended |
| * string is considered to be the type fieldId. |
| */ |
| void append(const UnicodeString &value, int32_t fieldId=UNUM_FIELD_COUNT); |
| |
| /** |
| * Sets this affix to given string. The entire string |
| * is considered to be the type fieldId. |
| */ |
| void setTo(const UnicodeString &value, int32_t fieldId=UNUM_FIELD_COUNT); |
| |
| /** |
| * Append value to this affix. If fieldId is present, the appended |
| * string is considered to be the type fieldId. |
| */ |
| void append(const UChar *value, int32_t charCount, int32_t fieldId=UNUM_FIELD_COUNT); |
| |
| /** |
| * Formats this affix. |
| */ |
| UnicodeString &format( |
| FieldPositionHandler &handler, UnicodeString &appendTo) const; |
| int32_t countChar32() const { return fAffix.countChar32(); } |
| |
| /** |
| * Returns this affix as a unicode string. |
| */ |
| const UnicodeString & toString() const { return fAffix; } |
| |
| /** |
| * Returns TRUE if this object equals rhs. |
| */ |
| UBool equals(const DigitAffix &rhs) const { |
| return ((fAffix == rhs.fAffix) && (fAnnotations == rhs.fAnnotations)); |
| } |
| private: |
| UnicodeString fAffix; |
| UnicodeString fAnnotations; |
| }; |
| |
| |
| U_NAMESPACE_END |
| #endif // #if !UCONFIG_NO_FORMATTING |
| #endif // __DIGITAFFIX_H__ |