wide_output_unexpand Class Reference

#include <unexpand.h>

Inheritance diagram for wide_output_unexpand:

wide_output

Public Member Functions

virtual ~wide_output_unexpand ()

Static Public Member Functions

static pointer open (const wide_output::pointer &deeper, int tabwidth=8)

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_unexpand (const wide_output::pointer &deeper, int tabwidth)
 wide_output_unexpand ()
 wide_output_unexpand (const wide_output_unexpand &)
wide_output_unexpandoperator= (const wide_output_unexpand &)

Private Attributes

wide_output::pointer deeper
int icol
int ocol
int tab_width

Detailed Description

This wide output class is used to convert sequences of spaces into tabs, where appropriate (and smaller than the original). The -Tab_Width option is used to determine the output tab width.

Definition at line 30 of file unexpand.h.


Constructor & Destructor Documentation

virtual wide_output_unexpand::~wide_output_unexpand (  )  [virtual]

The destructor.

wide_output_unexpand::wide_output_unexpand ( const wide_output::pointer deeper,
int  tabwidth 
) [private]

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

Parameters:
deeper where to write the filtered output
tabwidth the column width of tab characters

wide_output_unexpand::wide_output_unexpand (  )  [private]

The default constructor. Do not use.

wide_output_unexpand::wide_output_unexpand ( const wide_output_unexpand  )  [private]

The copy constructor. Do not use.


Member Function Documentation

static pointer wide_output_unexpand::open ( const wide_output::pointer deeper,
int  tabwidth = 8 
) [static]

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

Parameters:
deeper where to write the filtered output
tabwidth the column width of tab characters

nstring wide_output_unexpand::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_unexpand::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_unexpand::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_unexpand::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_unexpand::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_unexpand::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_unexpand::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_unexpand& wide_output_unexpand::operator= ( const wide_output_unexpand  )  [private]

The assignment operator. Do not use.


Field Documentation

Definition at line 86 of file unexpand.h.

Definition at line 87 of file unexpand.h.

Definition at line 88 of file unexpand.h.

Definition at line 89 of file unexpand.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