summaryrefslogtreecommitdiff
path: root/deps/icu-small/source/i18n/number_patternmodifier.h
diff options
context:
space:
mode:
Diffstat (limited to 'deps/icu-small/source/i18n/number_patternmodifier.h')
-rw-r--r--deps/icu-small/source/i18n/number_patternmodifier.h38
1 files changed, 22 insertions, 16 deletions
diff --git a/deps/icu-small/source/i18n/number_patternmodifier.h b/deps/icu-small/source/i18n/number_patternmodifier.h
index f1359bd574..ea80d6305e 100644
--- a/deps/icu-small/source/i18n/number_patternmodifier.h
+++ b/deps/icu-small/source/i18n/number_patternmodifier.h
@@ -18,13 +18,13 @@
U_NAMESPACE_BEGIN
// Export an explicit template instantiation of the LocalPointer that is used as a
-// data member of ParameterizedModifier.
+// data member of AdoptingModifierStore.
// (When building DLLs for Windows this is required.)
#if U_PF_WINDOWS <= U_PLATFORM && U_PLATFORM <= U_PF_CYGWIN
// Ignore warning 4661 as LocalPointerBase does not use operator== or operator!=
#pragma warning(suppress: 4661)
-template class U_I18N_API LocalPointerBase<number::impl::ParameterizedModifier>;
-template class U_I18N_API LocalPointer<number::impl::ParameterizedModifier>;
+template class U_I18N_API LocalPointerBase<number::impl::AdoptingModifierStore>;
+template class U_I18N_API LocalPointer<number::impl::AdoptingModifierStore>;
#endif
namespace number {
@@ -45,10 +45,10 @@ class U_I18N_API ImmutablePatternModifier : public MicroPropsGenerator, public U
const Modifier* getModifier(int8_t signum, StandardPlural::Form plural) const;
private:
- ImmutablePatternModifier(ParameterizedModifier* pm, const PluralRules* rules,
+ ImmutablePatternModifier(AdoptingModifierStore* pm, const PluralRules* rules,
const MicroPropsGenerator* parent);
- const LocalPointer<ParameterizedModifier> pm;
+ const LocalPointer<AdoptingModifierStore> pm;
const PluralRules* rules;
const MicroPropsGenerator* parent;
@@ -178,12 +178,18 @@ class U_I18N_API MutablePatternModifier
int32_t apply(NumberStringBuilder &output, int32_t leftIndex, int32_t rightIndex,
UErrorCode &status) const U_OVERRIDE;
- int32_t getPrefixLength(UErrorCode &status) const U_OVERRIDE;
+ int32_t getPrefixLength() const U_OVERRIDE;
- int32_t getCodePointCount(UErrorCode &status) const U_OVERRIDE;
+ int32_t getCodePointCount() const U_OVERRIDE;
bool isStrong() const U_OVERRIDE;
+ bool containsField(UNumberFormatFields field) const U_OVERRIDE;
+
+ void getParameters(Parameters& output) const U_OVERRIDE;
+
+ bool semanticallyEquivalent(const Modifier& other) const U_OVERRIDE;
+
/**
* Returns the string that substitutes a given symbol type in a pattern.
*/
@@ -196,22 +202,22 @@ class U_I18N_API MutablePatternModifier
const bool fStrong;
// Pattern details (initialized in setPatternInfo and setPatternAttributes)
- const AffixPatternProvider *patternInfo;
- UNumberSignDisplay signDisplay;
+ const AffixPatternProvider *fPatternInfo;
+ UNumberSignDisplay fSignDisplay;
bool perMilleReplacesPercent;
// Symbol details (initialized in setSymbols)
- const DecimalFormatSymbols *symbols;
- UNumberUnitWidth unitWidth;
- const CurrencySymbols *currencySymbols;
- const PluralRules *rules;
+ const DecimalFormatSymbols *fSymbols;
+ UNumberUnitWidth fUnitWidth;
+ const CurrencySymbols *fCurrencySymbols;
+ const PluralRules *fRules;
// Number details (initialized in setNumberProperties)
- int8_t signum;
- StandardPlural::Form plural;
+ int8_t fSignum;
+ StandardPlural::Form fPlural;
// QuantityChain details (initialized in addToChain)
- const MicroPropsGenerator *parent;
+ const MicroPropsGenerator *fParent;
// Transient fields for rendering
UnicodeString currentAffix;