wide_output_expand Class Reference

#include <expand.h>

Inheritance diagram for wide_output_expand:

wide_output

Public Member Functions

virtual ~wide_output_expand ()

Static Public Member Functions

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

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_expand (const wide_output::pointer &deeper)
void put_hex (int n)
 wide_output_expand ()
 wide_output_expand (const wide_output_expand &)
wide_output_expandoperator= (const wide_output_expand &)

Private Attributes

pointer deeper
int column

Detailed Description

The wide_output_expand class is used to replace tabs with spaces. This simplifies a lot of the internal width calculations for things like truncating, wrapping and reassembling. This internal filtering uses 8-character tabs; the -tw option is exclusively for output tab widths.

Definition at line 32 of file expand.h.


Constructor & Destructor Documentation

virtual wide_output_expand::~wide_output_expand (  )  [virtual]

The destructor.

wide_output_expand::wide_output_expand ( const wide_output::pointer deeper  )  [private]

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

Parameters:
deeper when to send the expanded output

wide_output_expand::wide_output_expand (  )  [private]

The default constructor. Do not use.

wide_output_expand::wide_output_expand ( const wide_output_expand  )  [private]

The copy constructor. Do not use.


Member Function Documentation

nstring wide_output_expand::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_expand::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_expand::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_expand::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_expand::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_expand::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_expand::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.

static pointer wide_output_expand::open ( const wide_output::pointer deeper  )  [static]

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

Parameters:
deeper when to send the expanded output

void wide_output_expand::put_hex ( int  n  )  [private]

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

The assignment operator. Do not use.


Field Documentation

Definition at line 84 of file expand.h.

Definition at line 85 of file expand.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