Movatterモバイル変換


[0]ホーム

URL:


ICU 78.1  78.1
formattednumber.h
Go to the documentation of this file.
1 // © 2022 and later: Unicode, Inc. and others.
2 // License & terms of use: http://www.unicode.org/copyright.html
3 
4 #ifndef __FORMATTEDNUMBER_H__
5 #define __FORMATTEDNUMBER_H__
6 
7 #include "unicode/utypes.h"
8 
9 #if U_SHOW_CPLUSPLUS_API
10 
11 #if !UCONFIG_NO_FORMATTING
12 
13 #include "unicode/uobject.h"
14 #include "unicode/formattedvalue.h"
15 #include "unicode/measunit.h"
16 #include "unicode/udisplayoptions.h"
17 
25 U_NAMESPACE_BEGIN
26 
27 classFieldPositionIteratorHandler;
28 classSimpleDateFormat;
29 
30 namespacenumber {// icu::number
31 
32 namespaceimpl {
33 classDecimalQuantity;
34 classUFormattedNumberData;
35 structUFormattedNumberImpl;
36 }// icu::number::impl
37 
38 
39 
48 classU_I18N_APIFormattedNumber :publicUMemory,publicFormattedValue {
49 public:
50 
55 FormattedNumber()
56  : fData(nullptr), fErrorCode(U_INVALID_STATE_ERROR) {}
57 
62 FormattedNumber(FormattedNumber&& src) noexcept;
63 
68 virtual~FormattedNumber()override;
69 
71 FormattedNumber(constFormattedNumber&) =delete;
72 
74 FormattedNumber&operator=(constFormattedNumber&) =delete;
75 
80 FormattedNumber&operator=(FormattedNumber&& src) noexcept;
81 
82 // Copybrief: this method is older than the parent method
90 UnicodeStringtoString(UErrorCode& status)const override;
91 
92 // Copydoc: this method is new in ICU 64
94 UnicodeStringtoTempString(UErrorCode& status)const override;
95 
96 // Copybrief: this method is older than the parent method
104 Appendable &appendTo(Appendable& appendable,UErrorCode& status)const override;
105 
106 // Copydoc: this method is new in ICU 64
108 UBoolnextPosition(ConstrainedFieldPosition& cfpos,UErrorCode& status)const override;
109 
128 template<typename StringClass>
129 inline StringClass toDecimalNumber(UErrorCode& status)const;
130 
142 MeasureUnitgetOutputUnit(UErrorCode& status)const;
143 
151 UDisplayOptionsNounClassgetNounClass(UErrorCode &status)const;
152 
153 #ifndef U_HIDE_INTERNAL_API
154 
159 voidgetDecimalQuantity(impl::DecimalQuantity& output,UErrorCode& status)const;
160 
165 voidgetAllFieldPositionsImpl(FieldPositionIteratorHandler& fpih,UErrorCode& status)const;
166 
167 #endif/* U_HIDE_INTERNAL_API */
168 
169 private:
170 // Can't use LocalPointer because UFormattedNumberData is forward-declared
171  impl::UFormattedNumberData *fData;
172 
173 // Error code for the terminal methods
174 UErrorCode fErrorCode;
175 
179 explicitFormattedNumber(impl::UFormattedNumberData *results)
180  : fData(results), fErrorCode(U_ZERO_ERROR) {}
181 
182 explicitFormattedNumber(UErrorCode errorCode)
183  : fData(nullptr), fErrorCode(errorCode) {}
184 
185 void toDecimalNumber(ByteSink& sink,UErrorCode& status)const;
186 
187 // To give LocalizedNumberFormatter format methods access to this class's constructor:
188 friendclassLocalizedNumberFormatter;
189 friendclassSimpleNumberFormatter;
190 
191 // To give C API access to internals
192 friendstructimpl::UFormattedNumberImpl;
193 
194 // To give access to the data pointer for non-heap allocation
195 friendclassicu::SimpleDateFormat;
196 };
197 
198 template<typename StringClass>
199 StringClass FormattedNumber::toDecimalNumber(UErrorCode& status) const{
200  StringClass result;
201 StringByteSink<StringClass> sink(&result);
202  toDecimalNumber(sink, status);
203 return result;
204 }
205 
206 }// namespace number
207 U_NAMESPACE_END
208 
209 #endif/* #if !UCONFIG_NO_FORMATTING */
210 
211 #endif/* U_SHOW_CPLUSPLUS_API */
212 
213 #endif// __FORMATTEDNUMBER_H__
214 
icu::Appendable
Base class for objects to which Unicode characters and strings can be appended.
Definition:appendable.h:54
icu::ByteSink
A ByteSink can be filled with bytes.
Definition:bytestream.h:55
icu::ConstrainedFieldPosition
Represents a span of a string containing a given field.
Definition:formattedvalue.h:41
icu::FormattedValue
An abstract formatted value: a string with associated field attributes.
Definition:formattedvalue.h:241
icu::MeasureUnit
A unit such as length, mass, volume, currency, etc.
Definition:measunit.h:405
icu::SimpleDateFormat
SimpleDateFormat is a concrete class for formatting and parsing dates in a language-independent manne...
Definition:smpdtfmt.h:385
icu::StringByteSink
Implementation of ByteSink that writes to a "string".
Definition:bytestream.h:291
icu::UMemory
UMemory is the common ICU base class.
Definition:uobject.h:115
icu::UnicodeString
UnicodeString is a string class that stores Unicode characters directly and provides similar function...
Definition:unistr.h:303
icu::number::FormattedNumber
The result of a number formatting operation.
Definition:formattednumber.h:48
icu::number::FormattedNumber::getDecimalQuantity
void getDecimalQuantity(impl::DecimalQuantity &output, UErrorCode &status) const
Gets the raw DecimalQuantity for plural rule selection.
icu::number::FormattedNumber::getNounClass
UDisplayOptionsNounClass getNounClass(UErrorCode &status) const
Gets the noun class of the formatted output.
icu::number::FormattedNumber::FormattedNumber
FormattedNumber(const FormattedNumber &)=delete
Copying not supported; use move constructor instead.
icu::number::FormattedNumber::getOutputUnit
MeasureUnit getOutputUnit(UErrorCode &status) const
Gets the resolved output unit.
icu::number::FormattedNumber::FormattedNumber
FormattedNumber()
Default constructor; makes an empty FormattedNumber.
Definition:formattednumber.h:55
icu::number::FormattedNumber::operator=
FormattedNumber & operator=(const FormattedNumber &)=delete
Copying not supported; use move assignment instead.
icu::number::FormattedNumber::getAllFieldPositionsImpl
void getAllFieldPositionsImpl(FieldPositionIteratorHandler &fpih, UErrorCode &status) const
Populates the mutable builder type FieldPositionIteratorHandler.
icu::number::FormattedNumber::~FormattedNumber
virtual ~FormattedNumber() override
Destruct an instance of FormattedNumber.
icu::number::FormattedNumber::toString
UnicodeString toString(UErrorCode &status) const override
Returns the formatted string as a self-contained UnicodeString.
icu::number::FormattedNumber::appendTo
Appendable & appendTo(Appendable &appendable, UErrorCode &status) const override
Appends the formatted string to an Appendable.
icu::number::FormattedNumber::FormattedNumber
FormattedNumber(FormattedNumber &&src) noexcept
Move constructor: Leaves the source FormattedNumber in an undefined state.
icu::number::FormattedNumber::nextPosition
UBool nextPosition(ConstrainedFieldPosition &cfpos, UErrorCode &status) const override
Iterates over field positions in the FormattedValue.
icu::number::FormattedNumber::toTempString
UnicodeString toTempString(UErrorCode &status) const override
Returns the formatted string as a read-only alias to memory owned by the FormattedValue.
icu::number::FormattedNumber::operator=
FormattedNumber & operator=(FormattedNumber &&src) noexcept
Move assignment: Leaves the source FormattedNumber in an undefined state.
formattedvalue.h
C++ API: Abstract operations for localized strings.
measunit.h
C++ API: A unit for measuring a quantity.
udisplayoptions.h
C API: Display options (enum types, values, helper functions)
UDisplayOptionsNounClass
UDisplayOptionsNounClass
Represents all the grammatical noun classes that are supported by CLDR.
Definition:udisplayoptions.h:134
UBool
int8_t UBool
The ICU boolean type, a signed-byte integer.
Definition:umachine.h:269
uobject.h
C++ API: Common ICU base class UObject.
utypes.h
Basic definitions for ICU, for both C and C++ APIs.
UErrorCode
UErrorCode
Standard ICU4C error code type, a substitute for exceptions.
Definition:utypes.h:509
U_INVALID_STATE_ERROR
@ U_INVALID_STATE_ERROR
Requested operation can not be completed with ICU in its current state.
Definition:utypes.h:573
U_ZERO_ERROR
@ U_ZERO_ERROR
No error, no warning.
Definition:utypes.h:544
U_I18N_API
#define U_I18N_API
Set to export library symbols from inside the i18n library, and to import them from outside.
Definition:utypes.h:316

Generated by doxygen 1.9.1
[8]ページ先頭

©2009-2025 Movatter.jp