|
Aegis
4.25.D505
|
#include <column.h>
Public Types | |
| typedef aegis_shared_ptr < wide_output_column > | cpointer |
Public Member Functions | |
| virtual | ~wide_output_column () |
| column_row_ty * | get (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_column & | operator= (const wide_output_column &) |
Private Attributes | |
| int | width |
| int | length |
| column_row_ty * | row |
| size_t | nrows |
| size_t | nrows_max |
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.
| 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] |
| void wide_output_column::clear_buffers | ( | ) |
| 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.
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.
| column_row_ty* wide_output_column::get | ( | int | n | ) |
| 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.
| width | The width of file column, in printing characters. |
| length | The 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.
| data | The data to be written |
| len | The number of wide characters to be written |
Implements wide_output.
int wide_output_column::length [private] |
size_t wide_output_column::nrows [private] |
size_t wide_output_column::nrows_max [private] |
column_row_ty* wide_output_column::row [private] |
int wide_output_column::width [private] |
1.7.6.1