#include "unicode/utypes.h"
#if !UCONFIG_NO_FORMATTING
#define UNISTR_FROM_STRING_EXPLICIT
#include "fphdlimp.h"
#include "number_utypes.h"
#include "numparse_types.h"
#include "formattedval_impl.h"
#include "number_decnum.h"
#include "unicode/numberformatter.h"
#include "unicode/unumberformatter.h"
#include "unicode/simplenumberformatter.h"
#include "unicode/usimplenumberformatter.h"
usingnamespaceicu;
usingnamespaceicu::number;
usingnamespaceicu::number::impl;
U_NAMESPACE_BEGIN
namespace number {
namespace impl {
struct UNumberFormatterData : public UMemory,
public IcuCApiHelper<UNumberFormatter, UNumberFormatterData, 0x4E465200> { … };
struct USimpleNumberData : public UMemory,
public IcuCApiHelper<USimpleNumber, USimpleNumberData, 0x534E4D00> { … };
struct USimpleNumberFormatterData : public UMemory,
public IcuCApiHelper<USimpleNumberFormatter, USimpleNumberFormatterData, 0x534E4600> { … };
struct UFormattedNumberImpl;
UFormattedNumberApiHelper;
struct UFormattedNumberImpl : public UFormattedValueImpl, public UFormattedNumberApiHelper { … };
UFormattedNumberImpl::UFormattedNumberImpl()
: … { … }
UFormattedNumberImpl::~UFormattedNumberImpl() { … }
void UFormattedNumberImpl::setTo(FormattedNumber value) { … }
}
}
U_NAMESPACE_END
UPRV_FORMATTED_VALUE_CAPI_NO_IMPLTYPE_AUTO_IMPL(
UFormattedNumber,
UFormattedNumberImpl,
UFormattedNumberApiHelper,
unumf)
const DecimalQuantity* icu::number::impl::validateUFormattedNumberToDecimalQuantity(
const UFormattedNumber* uresult, UErrorCode& status) { … }
U_CAPI UNumberFormatter* U_EXPORT2
unumf_openForSkeletonAndLocale(const char16_t* skeleton, int32_t skeletonLen, const char* locale,
UErrorCode* ec) { … }
U_CAPI UNumberFormatter* U_EXPORT2
unumf_openForSkeletonAndLocaleWithError(const char16_t* skeleton, int32_t skeletonLen, const char* locale,
UParseError* perror, UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
unumf_formatInt(const UNumberFormatter* uformatter, int64_t value, UFormattedNumber* uresult,
UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
unumf_formatDouble(const UNumberFormatter* uformatter, double value, UFormattedNumber* uresult,
UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
unumf_formatDecimal(const UNumberFormatter* uformatter, const char* value, int32_t valueLen,
UFormattedNumber* uresult, UErrorCode* ec) { … }
U_CAPI int32_t U_EXPORT2
unumf_resultToString(const UFormattedNumber* uresult, char16_t* buffer, int32_t bufferCapacity,
UErrorCode* ec) { … }
U_CAPI UBool U_EXPORT2
unumf_resultNextFieldPosition(const UFormattedNumber* uresult, UFieldPosition* ufpos, UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
unumf_resultGetAllFieldPositions(const UFormattedNumber* uresult, UFieldPositionIterator* ufpositer,
UErrorCode* ec) { … }
U_CAPI int32_t U_EXPORT2
unumf_resultToDecimalNumber(
const UFormattedNumber* uresult,
char* dest,
int32_t destCapacity,
UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
unumf_close(UNumberFormatter* f) { … }
U_CAPI USimpleNumber* U_EXPORT2
usnum_openForInt64(int64_t value, UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
usnum_setToInt64(USimpleNumber* unumber, int64_t value, UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
usnum_multiplyByPowerOfTen(USimpleNumber* unumber, int32_t power, UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
usnum_roundTo(USimpleNumber* unumber, int32_t position, UNumberFormatRoundingMode roundingMode, UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
usnum_setMinimumIntegerDigits(USimpleNumber* unumber, int32_t minimumIntegerDigits, UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
usnum_setMinimumFractionDigits(USimpleNumber* unumber, int32_t minimumFractionDigits, UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
usnum_truncateStart(USimpleNumber* unumber, int32_t maximumIntegerDigits, UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
usnum_setSign(USimpleNumber* unumber, USimpleNumberSign sign, UErrorCode* ec) { … }
U_CAPI USimpleNumberFormatter* U_EXPORT2
usnumf_openForLocale(const char* locale, UErrorCode* ec) { … }
U_CAPI USimpleNumberFormatter* U_EXPORT2
usnumf_openForLocaleAndGroupingStrategy(
const char* locale, UNumberGroupingStrategy groupingStrategy, UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
usnumf_format(
const USimpleNumberFormatter* uformatter,
USimpleNumber* unumber,
UFormattedNumber* uresult,
UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
usnumf_formatInt64(
const USimpleNumberFormatter* uformatter,
int64_t value,
UFormattedNumber* uresult,
UErrorCode* ec) { … }
U_CAPI void U_EXPORT2
usnum_close(USimpleNumber* unumber) { … }
U_CAPI void U_EXPORT2
usnumf_close(USimpleNumberFormatter* uformatter) { … }
#endif