mirror of
https://github.com/unicode-org/icu.git
synced 2025-04-13 08:53:20 +00:00
ICU-13177 NumberFormatter, Visual Studio fixes, work in progress.
X-SVN-Rev: 40475
This commit is contained in:
parent
2d49e73b8a
commit
d2e59330cd
8 changed files with 137 additions and 8 deletions
|
@ -352,6 +352,24 @@
|
|||
<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" />
|
||||
|
@ -1692,6 +1710,28 @@
|
|||
<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" />
|
||||
|
|
|
@ -754,6 +754,55 @@
|
|||
<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>
|
||||
|
@ -1133,6 +1182,12 @@
|
|||
<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>
|
||||
|
|
|
@ -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();
|
||||
|
|
|
@ -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 µs,
|
||||
UErrorCode &status) const {
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -324,6 +324,13 @@
|
|||
<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" />
|
||||
|
@ -495,6 +502,7 @@
|
|||
<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" />
|
||||
|
|
|
@ -259,6 +259,27 @@
|
|||
<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>
|
||||
|
@ -681,6 +702,9 @@
|
|||
<ClInclude Include="numberformattesttuple.h">
|
||||
<Filter>formatting</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="numbertest.h">
|
||||
<Filter>formatting</Filter>
|
||||
</ClInclude>
|
||||
<ClInclude Include="numfmtst.h">
|
||||
<Filter>formatting</Filter>
|
||||
</ClInclude>
|
||||
|
|
Loading…
Add table
Reference in a new issue