ITieredTextBuffer

Clients use ITieredTextBuffer as if it were a C++ ostream object. It has operator<< methods for all built-in types.

To write out diagonostic text from a test, use the member function outputTextStream, which recognizes the standard C++ << operator for all built-in types. Text output produced with outputTextStream displays to the console and is also saved in a ITieredTextBuffer within the test. You can the log the test, including the text buffer. If a test fails, you can retieve the associated diagnostic text to determine the cause of the failure.

outputTestStream returns a pointer to a ITieredTextBuffer object that contains the text. Objects of the class ITieredTextBuffer act like C++ ostream objects. They support << operators for all built-in types.

ITieredTextBuffer has some additional functionality beyond that of ostream to support retrieving textual information for later analysis. Information is marked with a level of importance. This permits showing a little or a lot of detail when the text is printed.

Most text occupies the tier kNormal. Important information that should not be missed occupies tier kGeneral or kHeadline. Detailed information that can usually be ignored occupies tier kDetail or kDebug.

This is a list of available tiers in order of least detailed to most detailed:

    kTop:		Most general information
    kHeadline:	One-line information
    kGeneral:	General interest
    kNormal:	Default
    kDetail:	Detail not usually needed
    kDebug:	Only needed during debugging
    kBottom:	Lowest tier, most detailed


ITieredTextBuffer - Member Functions and Data by Group

Constructors & Destructor

Class constructors and destructors.


[view class]
~ITieredTextBuffer
public:
virtual ~ITieredTextBuffer()
Destructor.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
ITieredTextBuffer


Overload 1
public:
ITieredTextBuffer(const ITieredTextBuffer&)
Copy constructor.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 2
public:
ITieredTextBuffer()
Default constructor.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Assignment Operators

Standard assignment operators.


[view class]
operator =
public:
ITieredTextBuffer& operator =(const ITieredTextBuffer&)
Standard Assignment Operator.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Echo and Output Configuration

Member functions used to control the output buffer appearance and configuration.


[view class]
echoTier
public:
ETier echoTier() const
Returns the ETier level at which echo is set.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
indent
public:
unsigned short indent() const
Returns the current indentation level setting.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
openLog
public:
void openLog(const char* logFileName)
Attempts to open the specified log file. Causes output to be displayed to standard output as well as to the log file.
logFileName
String value of the log file to open.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
popTier
public:
ETier popTier()
Restore tier to value before last pushTier. Pops the tier at the top of the stack, as previously pushed on by pushTier, and returns it. The tier is set to the value it had before that last call to pushTier.

Return

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
pushTier
public:
void pushTier(ETier newTier)
Changes tier to new setting and saves old value. Pushes newTier onto an internal stack of ETiers and makes it the new tier by calling setTier. A subsequent call to popTier will restore the previous tier. If the internal stack is full, the stack is unchanged and newTier does not get pushed.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
setEchoTier
public:
void setEchoTier(ETier)
Sets the tier above which text is echoed to console. This method sets the tier level at which echoing occurs. ITieredTextBuffer objects echo all output sent to them (via the operator<< method) to standard output. Echoing only happens for text above a certain tier, which is set by these methods. Subclasses may override setEchoTier if they want notification when the echo tier changes.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
setIndent
public:
unsigned short setIndent(unsigned short)
Sets the indent level for subsequent output via the operator<< methods. The short parameter specifies the level of indentation. If new indent is zero, text will be flushed left. Indentation only affects text that is added to this object via one of the <

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
setRelativeIndent
public:
unsigned short setRelativeIndent(short)
Sets the indent level for subsequent output relative to the current indent level. The short parameter specifies the level of indentation.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
setTier
public:
ETier setTier(ITieredTextBuffer::ETier newTier)
Changes the tier of all subsequently streamed text to newTier. It only affects future calls to operator<<. setTier pins newTier to the range kTop...kBottom.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


[view class]
tier
public:
ETier tier() const
Returns the current tier object.

Return

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Standard C++ << Operators

Standard output operators for use with ITieredTextBuffers.


[view class]
operator <<
C++ ostream-style output for use with ITieredTextBuffer.


Overload 1
public:
virtual ITieredTextBuffer& operator <<(const char*)
C++ ostream-style output operator for char*.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 2
public:
virtual ITieredTextBuffer& operator <<(const long)
C++ ostream-style output operator for long.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 3
public:
virtual ITieredTextBuffer& operator <<(const double)
C++ ostream-style output operator for double.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 4
public:
virtual ITieredTextBuffer& operator <<(const unsigned char)
C++ ostream-style output operator for unsigned char.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 5
public:
virtual ITieredTextBuffer& operator <<(const char)
C++ ostream-style output operator for char.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 6
public:
virtual ITieredTextBuffer& operator <<(const unsigned int)
C++ ostream-style output operator for unsigned int.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 7
public:
virtual ITieredTextBuffer& operator <<( const unsigned short )
C++ ostream-style output operator for unsigned short.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 8
public:
virtual ITieredTextBuffer& operator <<(const unsigned long)
C++ ostream-style output operator for unsigned long.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 9
public:
virtual ITieredTextBuffer& operator <<(const signed char)
C++ ostream-style output operator for signed char.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 10
public:
virtual ITieredTextBuffer& operator <<(const short)
C++ ostream-style output operator for short.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 11
public:
virtual ITieredTextBuffer& operator <<(const int)
C++ ostream-style output operator for int.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 12
public:
virtual ITieredTextBuffer& operator <<(const long double)
C++ ostream-style output operator for long double.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 13
public:
virtual ITieredTextBuffer& operator <<(const float)
C++ ostream-style output operator for float.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


Overload 14
public:
virtual ITieredTextBuffer& operator <<(endlfn)
C++ ostream-style output operator that allows users to call endl.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


ITieredTextBuffer - Enumerations


[view class]
ETier
enum ETier { kTop=0, 
             kHeadline=0x10, 
             kGeneral=0x20, 
             kEphemeral=0x2F, 
             kNormal=0x30, 
             kDetail=0x40, 
             kDebug=0x50, 
             kBottom=0x5F }
kTop - Top tier, most general information
kHeadline - One-liner information
kGeneral - Information of general interest
kEphemeral - Only shows on screen; not saved '
kNormal -  Default tier
kDetail - Detailed information not usually needed
kDebug - Information only needed during debugging
kBottom - Lowest tier, most detailed information

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


ITieredTextBuffer - Type Definitions


[view class]
( ITieredTextBuffer & )
typedef ITieredTextBuffer & ( * endlfn ) ( ITieredTextBuffer & )
Allows you to call endl with ITieredTextBuffer.

Supported Platforms

Windows OS/2 AIX
Yes Yes Yes


ITieredTextBuffer - Inherited Member Functions and Data

Inherited Public Functions

Inherited Public Data

Inherited Protected Functions

Inherited Protected Data