Taxonomy Categories:
Member Functions:
Interface Category:
API.
Inherits From:
TAdditiveNumberFormatter
Inherited By:
THanNumberFormatter
Purpose:
This class, derived from TAdditiveNumberFormatter, handles numbers represented by an additive system up to a specific numeric threshold, above which a multiplicative system is used.
Instantiation:
Always allocate on the heap.
Deriving Classes:
Derived classes override TextToCanonicalNumber and CanonicalNumberToText.
Concurrency:
Not multithread safe.
Resource Use:
No special requirements.
- THybridNumberFormatter ()
- THybridNumberFormatter (const THybridNumerals &, unsigned long multiplicativeThreshold)
- THybridNumberFormatter (const THybridNumberFormatter & format)
Interface Category:
API.
Purpose:
- Default constructor. Creates a number formatter with these characteristics: range of negative infinity to positive infinity, preceding minus sign used to indicate a negative number, no prefix or suffix displayed to indicate a positive number, and an instance of TUnicodeDecimalNumerals used to map characters to numeric values.
- Creates a number formatter that uses a specific TNumerals instance to map characters to numeric values. The number formatter created by this constructor has the other characteristics of the formatter created by the default constructor.
- Copy constructor.
Calling Context:
- Call directly to instantiate this class.
- Call directly to create a number formatter using a TNumerals instance other that TUnicodeDecimalNumerals.
- Called to copy an object.
Parameters:
- Takes no parameters.
- const THybridNumerals & -Specifies the TNumerals instance to use for character to numeric value mapping.
- unsigned long multiplicativeThreshold -Specifies the threshold above which numbers are expressed in a multiplicative way instead of an additive way.
- const THybridNumberFormatter & format -Specifies the object to copy.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual ~ THybridNumberFormatter ()
Interface Category:
API.
Purpose:
Destructor.
Calling Context:
Called to destroy an object.
Parameters:
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual void TextToCanonicalNumber (const TText &, TCanonicalNumber &, TNumberScanResult &, const TTextRange &)
Interface Category:
API.
Purpose:
During a scanning operation, converts a text string into an instance of TCanonicalNumber. The scanning function then uses a TCanonicalNumberConverter to convert the canonical number to a binary number.
Calling Context:
Called by the Scan member function when converting a text string into a numeral.
Parameters:
- const TText & -Contains the text string to scan.
- TCanonicalNumber & -Receives the canonical number produced by the conversion.
- TNumberScanResult & -Receives information about the result of the scanning operation.
- const TTextRange & -Specifies the range of the text string to scan.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual void CanonicalNumberToText (const TCanonicalNumber &, TText &, TNumberFormatResult &)
Interface Category:
API.
Purpose:
During a formatting operation, converts an instance of TCanonicalNumber into a text string. The formatting function first uses a TCanonicalNumberConverter to convert the binary number into the canonical number.
Calling Context:
Called by the Format function when converting a numeral into a text string.
Parameters:
- const TCanonicalNumber & -Specifies the canonical number to convert.
- TText & -Receives the text string produced by the conversion.
- TNumberFormatResult & -Receives information about the result of the formatting operation.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
THybridNumberFormatter & operator =(const THybridNumberFormatter &)
Interface Category:
API.
Purpose:
Assignment operator.
Calling Context:
Called when an object is assigned to another compatible object.
Parameters:
Return Value:
A non-const reference to the left-hand side object.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual TStream & operator >>=(TStream & toWhere) const
Interface Category:
API.
Purpose:
Stream-out operator.
Calling Context:
Called to stream out data.
Parameters:
- TStream & toWhere -The stream the object streams itself out to.
Return Value:
Returns a reference to the stream the object streams itself out to.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual TStream & operator <<= (TStream & fromWhere)
Interface Category:
API.
Purpose:
Stream-in operator.
Calling Context:
Called to stream in data.
Parameters:
- TStream & fromWhere -The stream the object streams itself in from.
Return Value:
Returns a reference to the stream the object streams itself in from.
Exceptions:
Throws a TStandardException if the version of the formatter cannot be used on the current system.
Concurrency:
Not multithread safe.
Other Considerations:
None.
virtual long Hash () const
Interface Category:
API.
Purpose:
Generates a hash value.
Calling Context:
Same as for base class.
Parameters:
Return Value:
The numeric value of the hash.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
None.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.