#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#include "unicode/ustring.h"
#include "unicode/ures.h"
#include "cstring.h"
#include "charstr.h"
#include "resource.h"
#include "number_compact.h"
#include "number_microprops.h"
#include "uresimp.h"
usingnamespaceicu;
usingnamespaceicu::number;
usingnamespaceicu::number::impl;
namespace {
const char16_t *USE_FALLBACK = …;
void getResourceBundleKey(const char *nsName, CompactStyle compactStyle, CompactType compactType,
CharString &sb, UErrorCode &status) { … }
int32_t getIndex(int32_t magnitude, StandardPlural::Form plural) { … }
int32_t countZeros(const char16_t *patternString, int32_t patternLength) { … }
}
CompactData::CompactData() : … { … }
void CompactData::populate(const Locale &locale, const char *nsName, CompactStyle compactStyle,
CompactType compactType, UErrorCode &status) { … }
int32_t CompactData::getMultiplier(int32_t magnitude) const { … }
const char16_t *CompactData::getPattern(
int32_t magnitude,
const PluralRules *rules,
const DecimalQuantity &dq) const { … }
void CompactData::getUniquePatterns(UVector &output, UErrorCode &status) const { … }
void CompactData::CompactDataSink::put(const char *key, ResourceValue &value, UBool ,
UErrorCode &status) { … }
CompactHandler::CompactHandler(
CompactStyle compactStyle,
const Locale &locale,
const char *nsName,
CompactType compactType,
const PluralRules *rules,
MutablePatternModifier *buildReference,
bool safe,
const MicroPropsGenerator *parent,
UErrorCode &status)
: … { … }
CompactHandler::~CompactHandler() { … }
void CompactHandler::precomputeAllModifiers(MutablePatternModifier &buildReference, UErrorCode &status) { … }
void CompactHandler::processQuantity(DecimalQuantity &quantity, MicroProps µs,
UErrorCode &status) const { … }
#endif