#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#ifndef __NUMBER_UTILS_H__
#define __NUMBER_UTILS_H__
#include "unicode/numberformatter.h"
#include "number_types.h"
#include "number_decimalquantity.h"
#include "number_scientific.h"
#include "number_patternstring.h"
#include "number_modifiers.h"
#include "number_multiplier.h"
#include "number_roundingutils.h"
#include "decNumber.h"
#include "charstr.h"
#include "formatted_string_builder.h"
U_NAMESPACE_BEGIN
namespace number {
namespace impl {
enum CldrPatternStyle { … };
namespace utils {
inline int32_t insertDigitFromSymbols(FormattedStringBuilder& output, int32_t index, int8_t digit,
const DecimalFormatSymbols& symbols, Field field,
UErrorCode& status) { … }
inline bool unitIsCurrency(const MeasureUnit& unit) { … }
inline bool unitIsBaseUnit(const MeasureUnit& unit) { … }
inline bool unitIsPercent(const MeasureUnit& unit) { … }
inline bool unitIsPermille(const MeasureUnit& unit) { … }
const char16_t*
getPatternForStyle(const Locale& locale, const char* nsName, CldrPatternStyle style, UErrorCode& status);
inline StandardPlural::Form getStandardPlural(const PluralRules *rules,
const IFixedDecimal &fdec) { … }
inline StandardPlural::Form getPluralSafe(
const RoundingImpl& rounder,
const PluralRules* rules,
const DecimalQuantity& dq,
UErrorCode& status) { … }
}
}
}
U_NAMESPACE_END
#endif
#endif