]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/formattedval_sbimpl.cpp
ICU-64232.0.1.tar.gz
[apple/icu.git] / icuSources / i18n / formattedval_sbimpl.cpp
diff --git a/icuSources/i18n/formattedval_sbimpl.cpp b/icuSources/i18n/formattedval_sbimpl.cpp
new file mode 100644 (file)
index 0000000..1fbecf2
--- /dev/null
@@ -0,0 +1,46 @@
+// © 2018 and later: Unicode, Inc. and others.
+// License & terms of use: http://www.unicode.org/copyright.html
+
+#include "unicode/utypes.h"
+
+#if !UCONFIG_NO_FORMATTING
+
+// This file contains one implementation of FormattedValue.
+// Other independent implementations should go into their own cpp file for
+// better dependency modularization.
+
+#include "formattedval_impl.h"
+
+U_NAMESPACE_BEGIN
+
+
+FormattedValueNumberStringBuilderImpl::FormattedValueNumberStringBuilderImpl(number::impl::Field numericField)
+        : fNumericField(numericField) {
+}
+
+FormattedValueNumberStringBuilderImpl::~FormattedValueNumberStringBuilderImpl() {
+}
+
+
+UnicodeString FormattedValueNumberStringBuilderImpl::toString(UErrorCode&) const {
+    return fString.toUnicodeString();
+}
+
+UnicodeString FormattedValueNumberStringBuilderImpl::toTempString(UErrorCode&) const {
+    return fString.toTempUnicodeString();
+}
+
+Appendable& FormattedValueNumberStringBuilderImpl::appendTo(Appendable& appendable, UErrorCode&) const {
+    appendable.appendString(fString.chars(), fString.length());
+    return appendable;
+}
+
+UBool FormattedValueNumberStringBuilderImpl::nextPosition(ConstrainedFieldPosition& cfpos, UErrorCode& status) const {
+    // NOTE: MSVC sometimes complains when implicitly converting between bool and UBool
+    return fString.nextPosition(cfpos, fNumericField, status) ? TRUE : FALSE;
+}
+
+
+U_NAMESPACE_END
+
+#endif /* #if !UCONFIG_NO_FORMATTING */