Index: source/i18n/digitaffix.h |
diff --git a/source/i18n/digitaffix.h b/source/i18n/digitaffix.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d5b545a3d7509fa0635dbba9ddd2494841d58d16 |
--- /dev/null |
+++ b/source/i18n/digitaffix.h |
@@ -0,0 +1,102 @@ |
+/* |
+******************************************************************************* |
+* 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__ |