]> git.saurik.com Git - apple/icu.git/blobdiff - icuSources/i18n/valueformatter.cpp
ICU-64232.0.1.tar.gz
[apple/icu.git] / icuSources / i18n / valueformatter.cpp
diff --git a/icuSources/i18n/valueformatter.cpp b/icuSources/i18n/valueformatter.cpp
deleted file mode 100644 (file)
index e769f36..0000000
+++ /dev/null
@@ -1,223 +0,0 @@
-// © 2016 and later: Unicode, Inc. and others.
-// License & terms of use: http://www.unicode.org/copyright.html
-/*
-*******************************************************************************
-* Copyright (C) 2015, International Business Machines Corporation and
-* others. All Rights Reserved.
-*******************************************************************************
-*/
-
-#include "unicode/plurrule.h"
-#include "unicode/unistr.h"
-#include "unicode/utypes.h"
-
-#if !UCONFIG_NO_FORMATTING
-
-#include "digitformatter.h"
-#include "digitgrouping.h"
-#include "digitinterval.h"
-#include "digitlst.h"
-#include "precision.h"
-#include "plurrule_impl.h"
-#include "smallintformatter.h"
-#include "uassert.h"
-#include "valueformatter.h"
-#include "visibledigits.h"
-
-U_NAMESPACE_BEGIN
-
-ValueFormatter::~ValueFormatter() {}
-
-VisibleDigitsWithExponent &
-ValueFormatter::toVisibleDigitsWithExponent(
-        int64_t value,
-        VisibleDigitsWithExponent &digits,
-        UErrorCode &status) const {
-    switch (fType) {
-    case kFixedDecimal:
-        return fFixedPrecision->initVisibleDigitsWithExponent(
-                value, digits, status);
-        break;
-    case kScientificNotation:
-        return fScientificPrecision->initVisibleDigitsWithExponent(
-                value, digits, status);
-        break;
-    default:
-        U_ASSERT(FALSE);
-        break;
-    }
-    return digits;
-}
-
-VisibleDigitsWithExponent &
-ValueFormatter::toVisibleDigitsWithExponent(
-        DigitList &value,
-        VisibleDigitsWithExponent &digits,
-        UErrorCode &status) const {
-    switch (fType) {
-    case kFixedDecimal:
-        return fFixedPrecision->initVisibleDigitsWithExponent(
-                value, digits, status);
-        break;
-    case kScientificNotation:
-        return fScientificPrecision->initVisibleDigitsWithExponent(
-                value, digits, status);
-        break;
-    default:
-        U_ASSERT(FALSE);
-        break;
-    }
-    return digits;
-}
-
-static UBool isNoGrouping(
-        const DigitGrouping &grouping,
-        int32_t value,
-        const FixedPrecision &precision) {
-    IntDigitCountRange range(
-            precision.fMin.getIntDigitCount(),
-            precision.fMax.getIntDigitCount());
-    return grouping.isNoGrouping(value, range);
-}
-
-UBool
-ValueFormatter::isFastFormattable(int32_t value) const {
-    switch (fType) {
-    case kFixedDecimal:
-        {
-            if (value == INT32_MIN) {
-                return FALSE;
-            }
-            if (value < 0) {
-                value = -value;
-            }
-            return fFixedPrecision->isFastFormattable() && fFixedOptions->isFastFormattable() && isNoGrouping(*fGrouping, value, *fFixedPrecision);
-        }
-    case kScientificNotation:
-        return FALSE;
-    default:
-        U_ASSERT(FALSE);
-        break;
-    }
-    return FALSE;
-}
-
-DigitList &
-ValueFormatter::round(DigitList &value, UErrorCode &status) const {
-    if (value.isNaN() || value.isInfinite()) {
-        return value;
-    }
-    switch (fType) {
-    case kFixedDecimal:
-        return fFixedPrecision->round(value, 0, status);
-    case kScientificNotation:
-        return fScientificPrecision->round(value, status);
-    default:
-        U_ASSERT(FALSE);
-        break;
-    }
-    return value;
-}
-
-UnicodeString &
-ValueFormatter::formatInt32(
-        int32_t value,
-        FieldPositionHandler &handler,
-        UnicodeString &appendTo) const {
-    switch (fType) {
-    case kFixedDecimal:
-        {
-            IntDigitCountRange range(
-                    fFixedPrecision->fMin.getIntDigitCount(),
-                    fFixedPrecision->fMax.getIntDigitCount());
-            return fDigitFormatter->formatPositiveInt32(
-                    value,
-                    range,
-                    handler,
-                    appendTo);
-        }
-        break;
-    case kScientificNotation:
-    default:
-        U_ASSERT(FALSE);
-        break;
-    }
-    return appendTo;
-}
-
-UnicodeString &
-ValueFormatter::format(
-        const VisibleDigitsWithExponent &value,
-        FieldPositionHandler &handler,
-        UnicodeString &appendTo) const {
-    switch (fType) {
-    case kFixedDecimal:
-        return fDigitFormatter->format(
-                value.getMantissa(),
-                *fGrouping,
-                *fFixedOptions,
-                handler,
-                appendTo);
-        break;
-    case kScientificNotation:
-        return fDigitFormatter->format(
-                value,
-                *fScientificOptions,
-                handler,
-                appendTo);
-        break;
-    default:
-        U_ASSERT(FALSE);
-        break;
-    }
-    return appendTo;
-}
-
-int32_t
-ValueFormatter::countChar32(const VisibleDigitsWithExponent &value) const {
-    switch (fType) {
-    case kFixedDecimal:
-        return fDigitFormatter->countChar32(
-                value.getMantissa(),
-                *fGrouping,
-                *fFixedOptions);
-        break;
-    case kScientificNotation:
-        return fDigitFormatter->countChar32(
-                value,
-                *fScientificOptions);
-        break;
-    default:
-        U_ASSERT(FALSE);
-        break;
-    }
-    return 0;
-}
-
-void
-ValueFormatter::prepareFixedDecimalFormatting(
-        const DigitFormatter &formatter,
-        const DigitGrouping &grouping,
-        const FixedPrecision &precision,
-        const DigitFormatterOptions &options) {
-    fType = kFixedDecimal;
-    fDigitFormatter = &formatter;
-    fGrouping = &grouping;
-    fFixedPrecision = &precision;
-    fFixedOptions = &options;
-}
-
-void
-ValueFormatter::prepareScientificFormatting(
-        const DigitFormatter &formatter,
-        const ScientificPrecision &precision,
-        const SciFormatterOptions &options) {
-    fType = kScientificNotation;
-    fDigitFormatter = &formatter;
-    fScientificPrecision = &precision;
-    fScientificOptions = &options;
-}
-
-U_NAMESPACE_END
-
-#endif /* !UCONFIG_NO_FORMATTING */