#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#include "cstring.h"
#include "number_patternmodifier.h"
#include "unicode/dcfmtsym.h"
#include "unicode/ucurr.h"
#include "unicode/unistr.h"
#include "number_microprops.h"
usingnamespaceicu;
usingnamespaceicu::number;
usingnamespaceicu::number::impl;
AffixPatternProvider::~AffixPatternProvider() = default;
MutablePatternModifier::MutablePatternModifier(bool isStrong)
: … { … }
void MutablePatternModifier::setPatternInfo(const AffixPatternProvider* patternInfo, Field field) { … }
void MutablePatternModifier::setPatternAttributes(
UNumberSignDisplay signDisplay,
bool perMille,
bool approximately) { … }
void MutablePatternModifier::setSymbols(const DecimalFormatSymbols* symbols,
const CurrencyUnit& currency,
const UNumberUnitWidth unitWidth,
const PluralRules* rules,
UErrorCode& status) { … }
void MutablePatternModifier::setNumberProperties(Signum signum, StandardPlural::Form plural) { … }
bool MutablePatternModifier::needsPlurals() const { … }
AdoptingSignumModifierStore MutablePatternModifier::createImmutableForPlural(StandardPlural::Form plural, UErrorCode& status) { … }
ImmutablePatternModifier* MutablePatternModifier::createImmutable(UErrorCode& status) { … }
ConstantMultiFieldModifier* MutablePatternModifier::createConstantModifier(UErrorCode& status) { … }
ImmutablePatternModifier::ImmutablePatternModifier(AdoptingModifierStore* pm, const PluralRules* rules)
: … { … }
void ImmutablePatternModifier::processQuantity(DecimalQuantity& quantity, MicroProps& micros,
UErrorCode& status) const { … }
void ImmutablePatternModifier::applyToMicros(
MicroProps& micros, const DecimalQuantity& quantity, UErrorCode& status) const { … }
const Modifier* ImmutablePatternModifier::getModifier(Signum signum, StandardPlural::Form plural) const { … }
void ImmutablePatternModifier::addToChain(const MicroPropsGenerator* parent) { … }
MicroPropsGenerator& MutablePatternModifier::addToChain(const MicroPropsGenerator* parent) { … }
void MutablePatternModifier::processQuantity(DecimalQuantity& fq, MicroProps& micros,
UErrorCode& status) const { … }
int32_t MutablePatternModifier::apply(FormattedStringBuilder& output, int32_t leftIndex, int32_t rightIndex,
UErrorCode& status) const { … }
int32_t MutablePatternModifier::getPrefixLength() const { … }
int32_t MutablePatternModifier::getCodePointCount() const { … }
bool MutablePatternModifier::isStrong() const { … }
bool MutablePatternModifier::containsField(Field field) const { … }
void MutablePatternModifier::getParameters(Parameters& output) const { … }
bool MutablePatternModifier::semanticallyEquivalent(const Modifier& other) const { … }
int32_t MutablePatternModifier::insertPrefix(FormattedStringBuilder& sb, int position, UErrorCode& status) { … }
int32_t MutablePatternModifier::insertSuffix(FormattedStringBuilder& sb, int position, UErrorCode& status) { … }
void MutablePatternModifier::prepareAffix(bool isPrefix) { … }
UnicodeString MutablePatternModifier::getSymbol(AffixPatternType type) const { … }
UnicodeString MutablePatternModifier::getCurrencySymbolForUnitWidth(UErrorCode& status) const { … }
UnicodeString MutablePatternModifier::toUnicodeString() const { … }
#endif