4#ifndef __NUMBERRANGEFORMATTER_H__
5#define __NUMBERRANGEFORMATTER_H__
9#if U_SHOW_CPLUSPLUS_API
11#if !UCONFIG_NO_FORMATTING
159#ifndef U_HIDE_INTERNAL_API
174class UnlocalizedNumberRangeFormatter;
175class LocalizedNumberRangeFormatter;
176class FormattedNumberRange;
181struct RangeMacroProps;
182class DecimalQuantity;
183class UFormattedNumberRangeData;
184class NumberRangeFormatterImpl;
193#if U_PLATFORM == U_PF_WINDOWS && !defined(U_IN_DOXYGEN)
197template struct U_I18N_API std::atomic< U_NAMESPACE_QUALIFIER number::impl::NumberRangeFormatterImpl*>;
247template<
typename Derived>
485 fMacros.copyErrorTo(outErrorCode);
510 :
public NumberRangeFormatterSettings<UnlocalizedNumberRangeFormatter>,
public UMemory {
570 const NumberRangeFormatterSettings<UnlocalizedNumberRangeFormatter>& other);
573 NumberRangeFormatterSettings<UnlocalizedNumberRangeFormatter>&& src)
U_NOEXCEPT;
576 friend class NumberRangeFormatterSettings<UnlocalizedNumberRangeFormatter>;
579 friend class NumberRangeFormatter;
591 :
public NumberRangeFormatterSettings<LocalizedNumberRangeFormatter>,
public UMemory {
642#ifndef U_HIDE_INTERNAL_API
654 void formatImpl(impl::UFormattedNumberRangeData& results,
bool equalBeforeRounding,
666 std::atomic<impl::NumberRangeFormatterImpl*> fAtomicFormatter = {};
668 const impl::NumberRangeFormatterImpl* getFormatter(
UErrorCode& stauts)
const;
728#ifndef U_HIDE_DRAFT_API
805 const impl::UFormattedNumberRangeData *fData;
817 : fData(nullptr), fErrorCode(errorCode) {}
819 void getAllFieldPositionsImpl(FieldPositionIteratorHandler& fpih,
UErrorCode& status)
const;
822 friend class LocalizedNumberRangeFormatter;
C++ API: Appendable class: Sink for Unicode code points and 16-bit code units (char16_ts).
Represents a span of a string containing a given field.
"Smart pointer" class, deletes objects via the standard C++ delete operator.
A Locale object represents a specific geographical, political, or cultural region.
UMemory is the common ICU base class.
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
C++ API: FieldPosition identifies the fields in a formatted output.
C++ API: FieldPosition Iterator.
UNumberRangeIdentityFallback identityFallback
UnlocalizedNumberFormatter formatter2
UnlocalizedNumberFormatter formatter1
bool copyErrorTo(UErrorCode &status) const
Check all members for errors.
UNumberRangeCollapse collapse
int8_t UBool
The ICU boolean type.
#define U_OVERRIDE
Defined to the C++11 "override" keyword if available.
#define TRUE
The TRUE value of a UBool.
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
@ U_ZERO_ERROR
No error, no warning.
#define U_FAILURE(x)
Does the error code indicate a failure?
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.