Main Page   Class Hierarchy   Compound List   File List   Header Files   Sources   Compound Members   File Members  

FieldPosition Class Reference

FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted output. More...

#include <fieldpos.h>

List of all members.


Public Members

enum  { DONT_CARE }
DONT_CARE may be specified as the field to indicate that the caller doesn't need to specify a field. More...

 FieldPosition ()
Creates a FieldPosition object with a non-specified field. More...

 FieldPosition (int32_t field)
Creates a FieldPosition object for the given field. More...

 FieldPosition (const FieldPosition& copy)
Copy constructor. More...

 ~FieldPosition ()
Destructor. More...

FieldPosition& operator= (const FieldPosition& copy)
Assignment operator. More...

UBool operator== (const FieldPosition& that) const
Equality operator. More...

UBool operator!= (const FieldPosition& that) const
Equality operator. More...

int32_t getField (void) const
Retrieve the field identifier. More...

int32_t getBeginIndex (void) const
Retrieve the index of the first character in the requested field. More...

int32_t getEndIndex (void) const
Retrieve the index of the character following the last character in the requested field. More...

void setField (int32_t f)
Set the field. More...

void setBeginIndex (int32_t bi)
Set the begin index. More...

void setEndIndex (int32_t ei)
Set the end index. More...


Detailed Description

FieldPosition is a simple class used by Format and its subclasses to identify fields in formatted output.

Fields are identified by constants, whose names typically end with _FIELD, defined in the various subclasses of Format. See ERA_FIELD and its friends in DateFormat for an example.

FieldPosition keeps track of the position of the field within the formatted output with two indices: the index of the first character of the field and the index of the last character of the field.

One version of the format method in the various Format classes requires a FieldPosition object as an argument. You use this format method to perform partial formatting or to get information about the formatted output (such as the position of a field).

Below is an example of using FieldPosition to aid alignment of an array of formatted floating-point numbers on their decimal points:

 .      double doubleNum[] = {123456789.0, -12345678.9, 1234567.89, -123456.789,
 .                 12345.6789, -1234.56789, 123.456789, -12.3456789, 1.23456789};
 .      int dNumSize = (int)(sizeof(doubleNum)/sizeof(double));
 .      
 .      UErrorCode status = U_ZERO_ERROR;
 .      DecimalFormat* fmt = (DecimalFormat*) NumberFormat::createInstance(status);
 .      fmt->setDecimalSeparatorAlwaysShown(true);
 .      
 .      const int tempLen = 20;
 .      char temp[tempLen];
 .      
 .      for (int i=0; i&lt;dNumSize; i++) {
 .          FieldPosition pos(NumberFormat::INTEGER_FIELD);
 .          UnicodeString buf;
 .          char fmtText[tempLen];
 .          ToCharString(fmt->format(doubleNum[i], buf, pos), fmtText);
 .          for (int j=0; j&lt;tempLen; j++) temp[j] = ' '; // clear with spaces
 .          temp[__min(tempLen, tempLen-pos.getEndIndex())] = '\0';
 .          cout &lt;&lt; temp &lt;&lt; fmtText   &lt;&lt; endl;
 .      }
 .      delete fmt;
 

The code will generate the following output:

 .          123,456,789.000
 .          -12,345,678.900
 .            1,234,567.880
 .             -123,456.789
 .               12,345.678
 .               -1,234.567
 .                  123.456
 .                  -12.345
 .                    1.234
 

Definition at line 88 of file fieldpos.h.


Enumeration Value Documentation

FieldPosition::DONT_CARE


Member Function Documentation

FieldPosition::FieldPosition ()

Creates a FieldPosition object with a non-specified field.

Stable:

Definition at line 100 of file fieldpos.h.

FieldPosition::FieldPosition (int32_t field)

Creates a FieldPosition object for the given field.

Fields are identified by constants, whose names typically end with _FIELD, in the various subclasses of Format.

See also:
NumberFormat::INTEGER_FIELD , NumberFormat::FRACTION_FIELD , DateFormat::YEAR_FIELD , DateFormat::MONTH_FIELD
Stable:

Definition at line 114 of file fieldpos.h.

FieldPosition::FieldPosition (const FieldPosition & copy)

Copy constructor.

Parameters:
copy   the object to be copied from.
Stable:

Definition at line 122 of file fieldpos.h.

FieldPosition::~FieldPosition () [inline]

Destructor.

Stable:

Definition at line 129 of file fieldpos.h.

FieldPosition & FieldPosition::operator= (const FieldPosition & copy) [inline]

Assignment operator.

Stable:

Definition at line 209 of file fieldpos.h.

UBool FieldPosition::operator== (const FieldPosition & copy) const [inline]

Equality operator.

Returns:
TRUE if the two field positions are equal, FALSE otherwise.
Stable:

Definition at line 218 of file fieldpos.h.

UBool FieldPosition::operator!= (const FieldPosition & copy) const [inline]

Equality operator.

Returns:
TRUE if the two field positions are not equal, FALSE otherwise.
Stable:

Definition at line 229 of file fieldpos.h.

int32_t FieldPosition::getField (void) const [inline]

Retrieve the field identifier.

Stable:

Definition at line 155 of file fieldpos.h.

int32_t FieldPosition::getBeginIndex (void) const [inline]

Retrieve the index of the first character in the requested field.

Stable:

Definition at line 161 of file fieldpos.h.

int32_t FieldPosition::getEndIndex (void) const [inline]

Retrieve the index of the character following the last character in the requested field.

Stable:

Definition at line 168 of file fieldpos.h.

void FieldPosition::setField (int32_t f) [inline]

Set the field.

Stable:

Definition at line 174 of file fieldpos.h.

void FieldPosition::setBeginIndex (int32_t bi) [inline]

Set the begin index.

For use by subclasses of Format.

Stable:

Definition at line 180 of file fieldpos.h.

void FieldPosition::setEndIndex (int32_t ei) [inline]

Set the end index.

For use by subclasses of Format.

Stable:

Definition at line 186 of file fieldpos.h.


The documentation for this class was generated from the following file:
Generated at Mon Jun 5 12:53:16 2000 for ICU1.5 by doxygen 1.0.0 written by Dimitri van Heesch, © 1997-1999