Aegis  4.25.D505
Data Structures | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
col_unformatted Class Reference

#include <unformatted.h>

Inheritance diagram for col_unformatted:
col

Data Structures

struct  column_ty

Public Member Functions

virtual ~col_unformatted ()

Static Public Member Functions

static pointer create (const wide_output::pointer &deeper)

Protected Member Functions

output::pointer create (int left, int right, const char *title)
void title (const nstring &first, const nstring &second)
void eoln ()
void need (int n)
void eject ()
void flush ()
void forget (const output::pointer &op)

Private Member Functions

 col_unformatted (const wide_output::pointer &deeper)
 col_unformatted ()
 col_unformatted (const col_unformatted &)
col_unformattedoperator= (const col_unformatted &)

Private Attributes

wide_output::pointer deeper
wchar_t separator
size_t ncolumns
size_t ncolumns_max
column_tycolumn

Detailed Description

The col_unformatted class is used to represent columnar output wich simply has the columns concatenated on a single line, without any formatting.

Definition at line 33 of file unformatted.h.


Constructor & Destructor Documentation

virtual col_unformatted::~col_unformatted ( ) [virtual]

The destructor.

The constructor. It is private on purpose, use the create class method instead.

Parameters:
deeperthe output stream upon which to write the columnar output

The default constructor. Do not use.

The copy constructor. Do not use.


Member Function Documentation

static pointer col_unformatted::create ( const wide_output::pointer deeper) [static]

The create class method is used to create new dynamically allocated instances of this class.

Parameters:
deeperthe output stream upon which to write the columnar output
output::pointer col_unformatted::create ( int  left,
int  right,
const char *  title 
) [protected, virtual]

The create method is used to specify a range of locations for an output column.

The contents will be de-tabbed and wrapped before output.

Parameters:
leftthe left-hand edge of the column. If you say -1, it will use the righ-hand side of the previous column, plus one. (Note: NOT the right-most column.)
rightthe right-hand edge of the column, plus one. zero means the rest of the line
titlethe column title to use. Give NULL pointer for none.
Returns:
output::pointer ; a pointer to an output stream to be used to write into this column. Use the delete operator when you are done with the column.

Implements col.

void col_unformatted::eject ( ) [protected, virtual]

The eject method is used to move to the top of the next page, if we aren't there already.

Implements col.

void col_unformatted::eoln ( ) [protected, virtual]

The eoln method is used to signal that an entire line of columns has been assembled and that it should be emitted to the output file or pager.

Columns all receive an implicit newline, and are flushed before processing. All of the columns are thus aligned into rows, even when (due to newlines or wrapping) they would otherwise be different lengths.

This is the interface used by clients of this subsystem.

Implements col.

void col_unformatted::flush ( ) [protected, virtual]

The flush method is used to force output of all buffered data.

Implements col.

void col_unformatted::forget ( const output::pointer op) [protected, virtual]

The forget method is used to discontinue an output column.

Parameters:
opThe column to forget.

Implements col.

void col_unformatted::need ( int  n) [protected, virtual]

The need method is used to nominate that a number of lines is needed before the end of the page. If the lines are available, a blank line is emitted, otherwise a new page is thrown.

Parameters:
nthe number of lines, not counting the blank line.

Implements col.

col_unformatted& col_unformatted::operator= ( const col_unformatted ) [private]

The assignment operator. Do not use.

void col_unformatted::title ( const nstring first,
const nstring second 
) [protected, virtual]

The title method is used to set the two lines of page headings. These are ignored for unformatted output.

Parameters:
firstfirst line of heading, NULL means blank
secondsecond line of heading, NULL means blank

Implements col.


Field Documentation

Definition at line 100 of file unformatted.h.

Definition at line 96 of file unformatted.h.

size_t col_unformatted::ncolumns [private]

Definition at line 98 of file unformatted.h.

Definition at line 99 of file unformatted.h.

Definition at line 97 of file unformatted.h.


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