]> granicus.if.org Git - icu/commitdiff
ICU-13177 NumberFormatter, Visual Studio fixes, work in progress.
authorAndy Heninger <andy.heninger@gmail.com>
Wed, 27 Sep 2017 06:44:13 +0000 (06:44 +0000)
committerAndy Heninger <andy.heninger@gmail.com>
Wed, 27 Sep 2017 06:44:13 +0000 (06:44 +0000)
X-SVN-Rev: 40475

icu4c/source/i18n/i18n.vcxproj
icu4c/source/i18n/i18n.vcxproj.filters
icu4c/source/i18n/number_padding.cpp
icu4c/source/i18n/number_scientific.cpp
icu4c/source/i18n/plurrule_impl.h
icu4c/source/i18n/unicode/numberformatter.h
icu4c/source/test/intltest/intltest.vcxproj
icu4c/source/test/intltest/intltest.vcxproj.filters

index 3be00882cfb69552abbe1a773149c95508808264..3dd3378a5211ff2fdaf4dbe10e2c89f17c50ad26 100644 (file)
     <ClCompile Include="nfrs.cpp" />
     <ClCompile Include="nfrule.cpp" />
     <ClCompile Include="nfsubs.cpp" />
+    <ClCompile Include="nounit.cpp" />
+    <ClCompile Include="number_affixutils.cpp" />
+    <ClCompile Include="number_compact.cpp" />
+    <ClCompile Include="number_decimalquantity.cpp" />
+    <ClCompile Include="number_decimfmtprops.cpp" />
+    <ClCompile Include="number_fluent.cpp" />
+    <ClCompile Include="number_formatimpl.cpp" />
+    <ClCompile Include="number_grouping.cpp" />
+    <ClCompile Include="number_integerwidth.cpp" />
+    <ClCompile Include="number_longnames.cpp" />
+    <ClCompile Include="number_modifiers.cpp" />
+    <ClCompile Include="number_notation.cpp" />
+    <ClCompile Include="number_padding.cpp" />
+    <ClCompile Include="number_patternmodifier.cpp" />
+    <ClCompile Include="number_patternstring.cpp" />
+    <ClCompile Include="number_rounding.cpp" />
+    <ClCompile Include="number_scientific.cpp" />
+    <ClCompile Include="number_stringbuilder.cpp" />
     <ClCompile Include="numfmt.cpp" />
     <ClCompile Include="numsys.cpp" />
     <ClCompile Include="olsontz.cpp" />
     <ClInclude Include="scriptset.h" />
     <ClInclude Include="uspoof_conf.h" />
     <ClInclude Include="uspoof_impl.h" />
+    <ClInclude Include="number_affixutils.h" />
+    <ClInclude Include="number_compact.h" />
+    <ClInclude Include="number_decimalquantity.h" />
+    <ClInclude Include="number_decimfmtprops.h" />
+    <ClInclude Include="number_formatimpl.h" />
+    <ClInclude Include="number_longnames.h" />
+    <ClInclude Include="number_modifiers.h" />
+    <ClInclude Include="number_patternmodifier.h" />
+    <ClInclude Include="number_patternstring.h" />
+    <ClInclude Include="number_roundingutils.h" />
+    <ClInclude Include="number_scientific.h" />
+    <ClInclude Include="number_stringbuilder.h" />
+    <ClInclude Include="number_types.h" />
+    <ClInclude Include="number_utils.h" />
+    <CustomBuild Include="unicode\nounit.h">
+      <Command>copy "%(FullPath)" ..\..\include\unicode </Command>
+      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
+    </CustomBuild>
+    <CustomBuild Include="unicode\numberformatter.h">
+      <Command>copy "%(FullPath)" ..\..\include\unicode </Command>
+      <Outputs>..\..\include\unicode\%(Filename)%(Extension);%(Outputs)</Outputs>
+    </CustomBuild>
   </ItemGroup>
   <ItemGroup>
     <ResourceCompile Include="i18n.rc" />
index c7b477ce46b5aa5d1725e3558ab1409aebd3a81b..33b60659b2171ad2d81705548f6e5cb9240b05f7 100644 (file)
     <ClInclude Include="nfsubs.h">
       <Filter>formatting</Filter>
     </ClInclude>
+
+    <ClInclude Include="number_affixutils.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_compact.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_decimalquantity.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_decimfmtprops.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_formatimpl.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_longnames.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_modifiers.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_patternmodifier.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_patternstring.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_roundingutils.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_scientific.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_stringbuilder.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_types.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+    <ClInclude Include="number_utils.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
+
+
+
     <ClInclude Include="olsontz.h">
       <Filter>formatting</Filter>
     </ClInclude>
     <CustomBuild Include="unicode\msgfmt.h">
       <Filter>formatting</Filter>
     </CustomBuild>
+    <CustomBuild Include="unicode/nounit.h">
+      <Filter>formatting</Filter>
+    </CustomBuild>
+    <CustomBuild Include="/numberformatter.h">
+      <Filter>formatting</Filter>
+    </CustomBuild>
     <CustomBuild Include="unicode\numfmt.h">
       <Filter>formatting</Filter>
     </CustomBuild>
index 641fc5d00f2ff9717e5db88ff94f4a1843399b79..fb1d8173a1646161787bafd04596b28d31b2df9f 100644 (file)
@@ -43,8 +43,8 @@ Padder Padder::codePoints(UChar32 cp, int32_t targetWidth, UNumberFormatPadPosit
     }
 }
 
-int32_t Padder::padAndApply(const impl::Modifier &mod1, const impl::Modifier &mod2,
-                            impl::NumberStringBuilder &string, int32_t leftIndex, int32_t rightIndex,
+int32_t Padder::padAndApply(const Modifier &mod1, const Modifier &mod2,
+                            NumberStringBuilder &string, int32_t leftIndex, int32_t rightIndex,
                             UErrorCode &status) const {
     int32_t modLength = mod1.getCodePointCount(status) + mod2.getCodePointCount(status);
     int32_t requiredPadding = fWidth - modLength - string.codePointCount();
index db63f854b75b57317671740a37ff91f4fa0024e6..05e9549c6539c05ee76b93b713eaca4393ddceb0 100644 (file)
@@ -84,9 +84,10 @@ bool ScientificModifier::isStrong() const {
     return true;
 }
 
-ScientificHandler::ScientificHandler(const Notation *notation, const DecimalFormatSymbols *symbols,
-                                     const MicroPropsGenerator *parent) : fSettings(
-        notation->fUnion.scientific), fSymbols(symbols), fParent(parent) {}
+// Note: Visual Studio does not compile this function without full name space. Why?
+icu::number::impl::ScientificHandler::ScientificHandler(const Notation *notation, const DecimalFormatSymbols *symbols,
+       const MicroPropsGenerator *parent) : 
+       fSettings(notation->fUnion.scientific), fSymbols(symbols), fParent(parent) {}
 
 void ScientificHandler::processQuantity(DecimalQuantity &quantity, MicroProps &micros,
                                         UErrorCode &status) const {
index a7e2654febf9c03be5ff0afc442e667e139a03c1..776ba0db396ccdda3d18d688aedd3b856aa90583 100644 (file)
@@ -225,7 +225,7 @@ enum PluralOperand {
  * An interface to FixedDecimal, allowing for other implementations.
  * @internal
  */
-class IFixedDecimal {
+class U_I18N_API IFixedDecimal {
   public:
     virtual ~IFixedDecimal() = default;
 
index 24dabbee31bd8c535457d3d5c5f95e83087f3d54..c8414363d93f02cf479e4ce7fde51e76b450af6b 100644 (file)
@@ -1681,7 +1681,7 @@ class UnlocalizedNumberFormatter
             const NumberFormatterSettings<UnlocalizedNumberFormatter> &other);
 
     // To give the fluent setters access to this class's constructor:
-    friend class NumberFormatterSettings;
+    friend class NumberFormatterSettings<UnlocalizedNumberFormatter>;
 
     // To give NumberFormatter::with() access to this class's constructor:
     friend class NumberFormatter;
@@ -1762,7 +1762,8 @@ class LocalizedNumberFormatter
     FormattedNumber formatImpl(impl::NumberFormatterResults *results, UErrorCode &status) const;
 
     // To give the fluent setters access to this class's constructor:
-    friend class NumberFormatterSettings;
+    friend class NumberFormatterSettings<UnlocalizedNumberFormatter>;
+    friend class NumberFormatterSettings<LocalizedNumberFormatter>;
 
     // To give UnlocalizedNumberFormatter::locale() access to this class's constructor:
     friend class UnlocalizedNumberFormatter;
index af34ac53765adea6bb00125be2412c1db282b449..148b42c0187c4c95a61d871b61f4f0822c3c0933 100644 (file)
     <ClCompile Include="nmfmapts.cpp" />
     <ClCompile Include="nmfmtrt.cpp" />
     <ClCompile Include="numberformattesttuple.cpp" />
+    <ClCompile Include="numbertest_affixutils.cpp" />
+    <ClCompile Include="numbertest_api.cpp" />
+    <ClCompile Include="numbertest_decimalquantity.cpp" />
+    <ClCompile Include="numbertest_modifiers.cpp" />
+    <ClCompile Include="numbertest_patternmodifier.cpp" />
+    <ClCompile Include="numbertest_patternstring.cpp" />
+    <ClCompile Include="numbertest_stringbuilder.cpp" />
     <ClCompile Include="numberformat2test.cpp" />
     <ClCompile Include="numfmtst.cpp" />
     <ClCompile Include="numrgts.cpp" />
     <ClInclude Include="msfmrgts.h" />
     <ClInclude Include="nmfmapts.h" />
     <ClInclude Include="nmfmtrt.h" />
+    <ClInclude Include="numbertest.h" />
     <ClInclude Include="numberformattesttuple.h" />
     <ClInclude Include="numfmtst.h" />
     <ClInclude Include="numrgts.h" />
index 39a3e4ef25162b66b4491f20265fa024c6cefdcb..384f6da184eec0887ed4fd59186939867ca45aa7 100644 (file)
     <ClCompile Include="numberformat2test.cpp">
       <Filter>formatting</Filter>
     </ClCompile>
+    <ClCompile Include="numbertest_affixutils.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="numbertest_api.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="numbertest_decimalquantity.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="numbertest_modifiers.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="numbertest_patternmodifier.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="numbertest_patternstring.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
+    <ClCompile Include="numbertest_stringbuilder.cpp">
+      <Filter>formatting</Filter>
+    </ClCompile>
     <ClCompile Include="numfmtst.cpp">
       <Filter>formatting</Filter>
     </ClCompile>
     <ClInclude Include="numberformattesttuple.h">
       <Filter>formatting</Filter>
     </ClInclude>
+    <ClInclude Include="numbertest.h">
+      <Filter>formatting</Filter>
+    </ClInclude>
     <ClInclude Include="numfmtst.h">
       <Filter>formatting</Filter>
     </ClInclude>