Movatterモバイル変換


[0]ホーム

URL:


ICU 78.1  78.1
Public Member Functions |Protected Member Functions |Static Protected Member Functions
icu::Format Class Referenceabstract

Base class for all formats.More...

#include <format.h>

Inheritance diagram for icu::Format:

Public Member Functions

virtualU_I18N_API ~Format ()
 Destructor.More...
 
virtualU_I18N_API bool operator== (constFormat &other) const =0
 Return true if the givenFormat objects are semantically equal.More...
 
U_I18N_API bool operator!= (constFormat &other) const
 Return true if the givenFormat objects are not semantically equal.More...
 
virtualU_I18N_APIFormatclone () const =0
 Clone this object polymorphically.More...
 
U_I18N_APIUnicodeStringformat (constFormattable &obj,UnicodeString &appendTo,UErrorCode &status) const
 Formats an object to produce a string.More...
 
virtualU_I18N_APIUnicodeStringformat (constFormattable &obj,UnicodeString &appendTo,FieldPosition &pos,UErrorCode &status) const =0
 Format an object to produce a string.More...
 
virtualU_I18N_APIUnicodeStringformat (constFormattable &obj,UnicodeString &appendTo,FieldPositionIterator *posIter,UErrorCode &status) const
 Format an object to produce a string.More...
 
virtualU_I18N_API void parseObject (constUnicodeString &source,Formattable &result,ParsePosition &parse_pos) const =0
 Parse a string to produce an object.More...
 
U_I18N_API void parseObject (constUnicodeString &source,Formattable &result,UErrorCode &status) const
 Parses a string to produce an object.More...
 
U_I18N_APILocale getLocale (ULocDataLocaleType type,UErrorCode &status) const
 Get the locale for this format object.More...
 
U_I18N_API const char * getLocaleID (ULocDataLocaleType type,UErrorCode &status) const
 Get the locale for this format object.More...
 
- Public Member Functions inherited fromicu::UObject
virtual ~UObject ()
 Destructor.More...
 
virtualUClassID getDynamicClassID () const
 ICU4C "poor man's RTTI", returns a UClassID for the actual ICU class.More...
 

Protected Member Functions

U_I18N_API void setLocaleIDs (const char *valid, const char *actual)
 
U_I18N_API Format ()
 Default constructor for subclass use only.More...
 
U_I18N_API Format (constFormat &)
 
U_I18N_APIFormatoperator= (constFormat &)
 

Static Protected Member Functions

staticU_I18N_API void syntaxError (constUnicodeString &pattern, int32_t pos,UParseError &parseError)
 Simple function for initializing aUParseError from aUnicodeString.More...
 

Detailed Description

Base class for all formats.

This is an abstract base class which specifies the protocol for classes which convert other objects or values, such as numeric values and dates, and their string representations. In some cases these representations may be localized or contain localized characters or strings. For example, a numeric formatter such asDecimalFormat may convert a numeric value such as 12345 to the string "$12,345". It may also parse the string back into a numeric value. A date and time formatter likeSimpleDateFormat may represent a specific date, encoded numerically, as a string such as "Wednesday, February 26, 1997 AD".

Many of the concrete subclasses ofFormat employ the notion of a pattern. A pattern is a string representation of the rules which govern the interconversion between values and strings. For example, aDecimalFormat object may be associated with the pattern "$#,##0.00;($#,##0.00)", which is a common US English format for currency values, yielding strings such as "$1,234.45" for 1234.45, and "($987.65)" for 987.6543. The specific syntax of a pattern is defined by each subclass.

Even though many subclasses use patterns, the notion of a pattern is not inherent toFormat classes in general, and is not part of the explicit base class protocol.

Two complex formatting classes bear mentioning. These areMessageFormat andChoiceFormat.ChoiceFormat is a subclass ofNumberFormat which allows the user to format different number ranges as strings. For instance, 0 may be represented as "no files", 1 as "one file", and any number greater than 1 as "many files".MessageFormat is a formatter which utilizes otherFormat objects to format a string containing with multiple values. For instance, AMessageFormat object might produce the string "There are no fileson the disk MyDisk on February 27, 1997." given the arguments 0, "MyDisk", and the date value of 2/27/97. See theChoiceFormat andMessageFormat headers for further information.

If formatting is unsuccessful, a failing UErrorCode is returned when theFormat cannot format the type of object, otherwise if there is something illformed about the Unicode replacement character 0xFFFD is returned.

If there is no match when parsing, a parse failure UErrorCode is returned for methods which take noParsePosition. For the method that takes aParsePosition, the index parameter is left unchanged.

User subclasses are not supported. While clients may write subclasses, such code will not necessarily work and will not be guaranteed to work stably from release to release.

Definition at line98 of fileformat.h.

Constructor & Destructor Documentation

◆ ~Format()

virtualU_I18N_API icu::Format::~Format()
virtual

Destructor.

Stable:
ICU 2.4

◆ Format()[1/2]

U_I18N_API icu::Format::Format()
protected

Default constructor for subclass use only.

Does nothing.

Stable:
ICU 2.0

◆ Format()[2/2]

U_I18N_API icu::Format::Format(constFormat)
protected
Stable:
ICU 2.0

Member Function Documentation

◆ clone()

virtualU_I18N_APIFormat* icu::Format::clone() const
pure virtual

Clone this object polymorphically.

The caller is responsible for deleting the result when done.

Returns
A copy of the object
Stable:
ICU 2.0

Implemented inicu::NumberFormat,icu::DateFormat,icu::TimeZoneFormat,icu::TimeUnitFormat,icu::SimpleDateFormat,icu::SelectFormat,icu::RuleBasedNumberFormat,icu::PluralFormat,icu::MessageFormat,icu::MeasureFormat,icu::DateIntervalFormat,icu::DecimalFormat,icu::CompactDecimalFormat, andicu::ChoiceFormat.

◆ format()[1/3]

virtualU_I18N_APIUnicodeString& icu::Format::format(constFormattableobj,
UnicodeStringappendTo,
FieldPositionpos,
UErrorCodestatus 
) const
pure virtual

Format an object to produce a string.

This is a pure virtual method which subclasses must implement. This method allows polymorphic formatting ofFormattable objects. If a subclass ofFormat receives aFormattable object type it doesn't handle (e.g., if a numericFormattable is passed to aDateFormat object) then it returns a failing UErrorCode.

Parameters
objThe object to format.
appendToOutput parameter to receive result. Result is appended to existing contents.
posOn input: an alignment field, if desired. On output: the offsets of the alignment field.
statusOutput param filled with success/failure status.
Returns
Reference to 'appendTo' parameter.
Stable:
ICU 2.0

Implemented inicu::TimeZoneFormat,icu::SelectFormat,icu::PluralFormat,icu::NumberFormat,icu::MessageFormat,icu::MeasureFormat,icu::DateFormat, andicu::DateIntervalFormat.

◆ format()[2/3]

virtualU_I18N_APIUnicodeString& icu::Format::format(constFormattableobj,
UnicodeStringappendTo,
FieldPositionIteratorposIter,
UErrorCodestatus 
) const
virtual

Format an object to produce a string.

Subclasses should override this method. This method allows polymorphic formatting ofFormattable objects. If a subclass ofFormat receives aFormattable object type it doesn't handle (e.g., if a numericFormattable is passed to aDateFormat object) then it returns a failing UErrorCode.

Parameters
objThe object to format.
appendToOutput parameter to receive result. Result is appended to existing contents.
posIterOn return, can be used to iterate over positions of fields generated by this format call.
statusOutput param filled with success/failure status.
Returns
Reference to 'appendTo' parameter.
Stable:
ICU 4.4

Reimplemented inicu::NumberFormat, andicu::DateFormat.

◆ format()[3/3]

U_I18N_APIUnicodeString& icu::Format::format(constFormattableobj,
UnicodeStringappendTo,
UErrorCodestatus 
) const

Formats an object to produce a string.

Parameters
objThe object to format.
appendToOutput parameter to receive result. Result is appended to existing contents.
statusOutput parameter filled in with success or failure status.
Returns
Reference to 'appendTo' parameter.
Stable:
ICU 2.0

◆ getLocale()

U_I18N_APILocale icu::Format::getLocale(ULocDataLocaleType type,
UErrorCodestatus 
) const

Get the locale for this format object.

You can choose between valid and actual locale.

Parameters
typetype of the locale we're looking for (valid or actual)
statuserror code for the operation
Returns
the locale
Stable:
ICU 2.8

◆ getLocaleID()

U_I18N_API const char* icu::Format::getLocaleID(ULocDataLocaleType type,
UErrorCodestatus 
) const

Get the locale for this format object.

You can choose between valid and actual locale.

Parameters
typetype of the locale we're looking for (valid or actual)
statuserror code for the operation
Returns
the locale
Internal:
Do not use. This API is for internal use only.

◆ operator!=()

U_I18N_API bool icu::Format::operator!=(constFormatother) const
inline

Return true if the givenFormat objects are not semantically equal.

Parameters
otherthe object to be compared with.
Returns
Return true if the givenFormat objects are not semantically.
Stable:
ICU 2.0

Definition at line123 of fileformat.h.

Referencesicu::operator==().

◆ operator=()

U_I18N_APIFormat& icu::Format::operator=(constFormat)
protected
Stable:
ICU 2.0

◆ operator==()

virtualU_I18N_API bool icu::Format::operator==(constFormatother) const
pure virtual

Return true if the givenFormat objects are semantically equal.

Objects of different subclasses are considered unequal.

Parameters
otherthe object to be compared with.
Returns
Return true if the givenFormat objects are semantically equal. Objects of different subclasses are considered unequal.
Stable:
ICU 2.0

Implemented inicu::TimeZoneFormat,icu::SimpleDateFormat,icu::SelectFormat,icu::RuleBasedNumberFormat,icu::PluralFormat,icu::NumberFormat,icu::MessageFormat,icu::MeasureFormat,icu::DateIntervalFormat,icu::DecimalFormat,icu::ChoiceFormat, andicu::DateFormat.

◆ parseObject()[1/2]

virtualU_I18N_API void icu::Format::parseObject(constUnicodeStringsource,
Formattableresult,
ParsePositionparse_pos 
) const
pure virtual

Parse a string to produce an object.

This is a pure virtual method which subclasses must implement. This method allows polymorphic parsing of strings intoFormattable objects.

Before calling, set parse_pos.index to the offset you want to start parsing at in the source. After calling, parse_pos.index is the end of the text you parsed. If error occurs, index is unchanged.

When parsing, leading whitespace is discarded (with successful parse), while trailing whitespace is left as is.

Example:

Parsing "_12_xy" (where _ represents a space) for a number, with index == 0 will result in the number 12, with parse_pos.index updated to 3 (just before the second space). Parsing a second time will result in a failing UErrorCode since "xy" is not a number, and leave index at 3.

Subclasses will typically supply specific parse methods that return different types of values. Since methods can't overload on return types, these will typically be named "parse", while this polymorphic method will always be called parseObject. Any parse method that does not take a parse_pos should set status to an error value when no text in the required format is at the start position.

Parameters
sourceThe string to be parsed into an object.
resultFormattable to be set to the parse result. If parse fails, return contents are undefined.
parse_posThe position to start parsing at. Upon return this param is set to the position after the last character successfully parsed. If the source is not parsed successfully, this param will remain unchanged.
Stable:
ICU 2.0

Implemented inicu::TimeUnitFormat,icu::MessageFormat,icu::TimeZoneFormat,icu::SelectFormat,icu::PluralFormat,icu::NumberFormat,icu::DateIntervalFormat,icu::DateFormat, andicu::MeasureFormat.

◆ parseObject()[2/2]

U_I18N_API void icu::Format::parseObject(constUnicodeStringsource,
Formattableresult,
UErrorCodestatus 
) const

Parses a string to produce an object.

This is a convenience method which calls the pure virtualparseObject() method, and returns a failure UErrorCode if theParsePosition indicates failure.

Parameters
sourceThe string to be parsed into an object.
resultFormattable to be set to the parse result. If parse fails, return contents are undefined.
statusOutput param to be filled with success/failure result code.
Stable:
ICU 2.0

◆ setLocaleIDs()

U_I18N_API void icu::Format::setLocaleIDs(const char * valid,
const char * actual 
)
protected
Stable:
ICU 2.8

◆ syntaxError()

staticU_I18N_API void icu::Format::syntaxError(constUnicodeStringpattern,
int32_t pos,
UParseErrorparseError 
)
staticprotected

Simple function for initializing aUParseError from aUnicodeString.

Parameters
patternThe pattern to copy into the parseError
posThe position in pattern where the error occurred
parseErrorTheUParseError object to fill in
Stable:
ICU 2.4

The documentation for this class was generated from the following file:

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

©2009-2025 Movatter.jp