]> granicus.if.org Git - icu/commitdiff
ICU-12572 Adding cpp-file definitions for all interface classes in number code, clean...
authorShane Carr <shane@unicode.org>
Thu, 3 May 2018 09:13:46 +0000 (09:13 +0000)
committerShane Carr <shane@unicode.org>
Thu, 3 May 2018 09:13:46 +0000 (09:13 +0000)
X-SVN-Rev: 41317

icu4c/source/i18n/number_affixutils.cpp
icu4c/source/i18n/number_affixutils.h
icu4c/source/i18n/number_formatimpl.cpp
icu4c/source/i18n/number_modifiers.cpp
icu4c/source/i18n/number_patternmodifier.cpp
icu4c/source/i18n/number_rounding.cpp
icu4c/source/i18n/number_types.h
icu4c/source/i18n/numparse_impl.cpp
icu4c/source/i18n/numparse_types.h

index 3511e4041388e25e7b602ca765d634f093165f24..4261656549c5d2e913b51a5141a5d78764d96568 100644 (file)
@@ -13,6 +13,8 @@ using namespace icu;
 using namespace icu::number;
 using namespace icu::number::impl;
 
+SymbolProvider::~SymbolProvider() = default;
+
 int32_t AffixUtils::estimateLength(const UnicodeString &patternString, UErrorCode &status) {
     AffixPatternState state = STATE_BASE;
     int32_t offset = 0;
index d515d7b80ac7f9e6a5dcb696f48415b6cc44aee3..d968f119fb73084bb1f78bbc9830af1426935ee4 100644 (file)
@@ -56,7 +56,7 @@ class TokenConsumer {
 // Exported as U_I18N_API because it is a base class for other exported types
 class U_I18N_API SymbolProvider {
   public:
-    virtual ~SymbolProvider() = default;
+    virtual ~SymbolProvider();
 
     // TODO: Could this be more efficient if it returned by reference?
     virtual UnicodeString getSymbol(AffixPatternType type) const = 0;
index d8b97044b8be28edc028f4889b3df76a507a18b6..a6bda29f3e3193c0b3aabb9ddbd9dc84f46f4345 100644 (file)
@@ -63,6 +63,10 @@ getCurrencyFormatInfo(const Locale& locale, const char* isoCode, UErrorCode& sta
 
 }  // namespace
 
+
+MicroPropsGenerator::~MicroPropsGenerator() = default;
+
+
 NumberFormatterImpl* NumberFormatterImpl::fromMacros(const MacroProps& macros, UErrorCode& status) {
     return new NumberFormatterImpl(macros, true, status);
 }
index 147e2182f5ab580e133b230beb1b19ff04b45660..4385499b54f603fdb6d686de6fff9fbbf0e93023 100644 (file)
@@ -51,6 +51,9 @@ void U_CALLCONV initDefaultCurrencySpacing(UErrorCode &status) {
 }  // namespace
 
 
+Modifier::~Modifier() = default;
+
+
 int32_t ConstantAffixModifier::apply(NumberStringBuilder &output, int leftIndex, int rightIndex,
                                      UErrorCode &status) const {
     // Insert the suffix first since inserting the prefix will change the rightIndex
index 45f2dd9914c122520b26221d521c9b0a6a650dc0..45f790e571bfe9529606380d21a1959670ef92ce 100644 (file)
@@ -15,6 +15,10 @@ using namespace icu;
 using namespace icu::number;
 using namespace icu::number::impl;
 
+
+AffixPatternProvider::~AffixPatternProvider() = default;
+
+
 MutablePatternModifier::MutablePatternModifier(bool isStrong)
         : fStrong(isStrong) {}
 
index b5c39fcd8f97bdd06403dbd83908d186f719e306..137848ec4698e6c6153429883a4c1ee8d20863e6 100644 (file)
@@ -52,6 +52,9 @@ int32_t getDisplayMagnitudeSignificant(const DecimalQuantity &value, int minSig)
 }
 
 
+MultiplierProducer::~MultiplierProducer() = default;
+
+
 digits_t roundingutils::doubleFractionLength(double input) {
     char buffer[DoubleToStringConverter::kBase10MaximalLength + 1];
     bool sign; // unused; always positive
index 0261e2cee04a4de822aaf236e3064ed823d92095..909302480f14566218ec3a0fcd5dd535c0887b24 100644 (file)
@@ -101,7 +101,7 @@ class U_I18N_API AffixPatternProvider {
     static const int32_t AFFIX_NEG_PREFIX = AFFIX_PREFIX | AFFIX_NEGATIVE_SUBPATTERN;
     static const int32_t AFFIX_NEG_SUFFIX = AFFIX_NEGATIVE_SUBPATTERN;
 
-    virtual ~AffixPatternProvider() = default;
+    virtual ~AffixPatternProvider();
 
     virtual char16_t charAt(int flags, int i) const = 0;
 
@@ -139,7 +139,7 @@ class U_I18N_API AffixPatternProvider {
  */
 class U_I18N_API Modifier {
   public:
-    virtual ~Modifier() = default;
+    virtual ~Modifier();
 
     /**
      * Apply this Modifier to the string builder.
@@ -199,7 +199,7 @@ class U_I18N_API Modifier {
  */
 class U_I18N_API MicroPropsGenerator {
   public:
-    virtual ~MicroPropsGenerator() = default;
+    virtual ~MicroPropsGenerator();
 
     /**
      * Considers the given {@link DecimalQuantity}, optionally mutates it, and returns a {@link MicroProps}.
@@ -219,7 +219,7 @@ class U_I18N_API MicroPropsGenerator {
  */
 class MultiplierProducer {
   public:
-    virtual ~MultiplierProducer() = default;
+    virtual ~MultiplierProducer();
 
     /**
      * Maps a magnitude to a multiplier in powers of ten. For example, in compact notation in English, a magnitude of 5
index b986ce0d2d21f9bc23f7a0096e53e02deeaab139..ecb878fbe7d419999ae612601b5d54bb76699761 100644 (file)
@@ -30,6 +30,9 @@ using namespace icu::numparse;
 using namespace icu::numparse::impl;
 
 
+NumberParseMatcher::~NumberParseMatcher() = default;
+
+
 NumberParserImpl*
 NumberParserImpl::createSimpleParser(const Locale& locale, const UnicodeString& patternString,
                                      parse_flags_t parseFlags, UErrorCode& status) {
index 873683f11be5387fa67de14fff7db8123b5ce94b..420f38c6defe1befcbf81ec479d106e853a951a4 100644 (file)
@@ -287,6 +287,8 @@ class U_I18N_API StringSegment : public UMemory {
 // Exported as U_I18N_API for tests
 class U_I18N_API NumberParseMatcher {
   public:
+    virtual ~NumberParseMatcher();
+
     /**
      * Matchers can override this method to return true to indicate that they are optional and can be run
      * repeatedly. Used by SeriesMatcher, primarily in the context of IgnorablesMatcher.