Aegis  4.25.D505
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
wide_output_column Class Reference

#include <column.h>

Inheritance diagram for wide_output_column:
wide_output

Public Types

typedef aegis_shared_ptr
< wide_output_column
cpointer

Public Member Functions

virtual ~wide_output_column ()
column_row_tyget (int n)
void clear_buffers ()

Static Public Member Functions

static cpointer open (int width, int length)

Protected Member Functions

nstring filename ()
int page_width ()
int page_length ()
const char * type_name () const
void write_inner (const wchar_t *data, size_t len)
void flush_inner ()
void end_of_line_inner ()

Private Member Functions

 wide_output_column (int width, int length)
 wide_output_column ()
 wide_output_column (const wide_output_column &)
wide_output_columnoperator= (const wide_output_column &)

Private Attributes

int width
int length
column_row_tyrow
size_t nrows
size_t nrows_max

Detailed Description

The wide_output_column class is used to store columns, in preparation for assembing them ready for output. The number of lines in the column is tracked, as is the printing width of the column. This simplifies the task of printing the columns out, particularly if a wrapping filter is imposed before this one.

Definition at line 40 of file column.h.


Member Typedef Documentation

Definition at line 44 of file column.h.


Constructor & Destructor Documentation

The destructor.

wide_output_column::wide_output_column ( int  width,
int  length 
) [private]

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

The default constructor. Do not use.


Member Function Documentation

void wide_output_column::end_of_line_inner ( ) [protected, virtual]

The end_of_line_inner method is used to do end-of-line processing by the derived class, if the buffered character state is not sufficient for the end_of_line method to determine whether or not the output position is currently at the start of a line.

Implements wide_output.

nstring wide_output_column::filename ( ) [protected, virtual]

The filename method is used to obtain the name of the file being written by this output stream.

Returns:
the name of the destination

Implements wide_output.

void wide_output_column::flush_inner ( ) [protected, virtual]

The flush_inner method is called by the flush method, after it writes any buffered data via the write_inner method.

Implements wide_output.

static cpointer wide_output_column::open ( int  width,
int  length 
) [static]

The open class method is used to create a new dynamically allocated out[ut column.

Parameters:
widthThe width of file column, in printing characters.
lengthThe length of the column. in lines (for pagination purposes).
wide_output_column& wide_output_column::operator= ( const wide_output_column ) [private]
int wide_output_column::page_length ( ) [protected, virtual]

The length method is used to obtain the length (in whole lines) of the output destination.

Implements wide_output.

int wide_output_column::page_width ( ) [protected, virtual]

The page-width method is used to obtain the width (in printing columns) of the output destination.

Implements wide_output.

const char* wide_output_column::type_name ( ) const [protected, virtual]

The type_name method is used to return the name of the class of output. Useful for debugging.

Implements wide_output.

void wide_output_column::write_inner ( const wchar_t data,
size_t  len 
) [protected, virtual]

The write_inner method is called by the write method to emit buffered data.

Parameters:
dataThe data to be written
lenThe number of wide characters to be written

Implements wide_output.


Field Documentation

Definition at line 98 of file column.h.

size_t wide_output_column::nrows [private]

Definition at line 101 of file column.h.

Definition at line 102 of file column.h.

Definition at line 100 of file column.h.

Definition at line 97 of file column.h.


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