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

virtual wide_output_column::~wide_output_column (  )  [virtual]

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.

wide_output_column::wide_output_column (  )  [private]

The default constructor. Do not use.

wide_output_column::wide_output_column ( const wide_output_column  )  [private]


Member Function Documentation

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

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

column_row_ty* wide_output_column::get ( int  n  ) 

void wide_output_column::clear_buffers (  ) 

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.

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.

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.

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:
data The data to be written
len The number of wide characters to be written

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.

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.

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


Field Documentation

Definition at line 92 of file column.h.

Definition at line 93 of file column.h.

Definition at line 95 of file column.h.

size_t wide_output_column::nrows [private]

Definition at line 96 of file column.h.

Definition at line 97 of file column.h.


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

Generated on Wed Mar 12 23:37:45 2008 for Aegis by  doxygen 1.5.5