Aegis  4.25.D505
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
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

The destructor.

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

Parameters:
deeperwhen to send the expanded output

The default constructor. Do not use.

The copy constructor. Do not use.


Member Function Documentation

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.

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.

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.

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:
deeperwhen to send the expanded output
wide_output_expand& wide_output_expand::operator= ( const wide_output_expand ) [private]

The assignment operator. Do not use.

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.

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.

void wide_output_expand::put_hex ( int  n) [private]
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:
dataThe data to be written
lenThe number of wide characters to be written

Implements wide_output.


Field Documentation

Definition at line 85 of file expand.h.

Definition at line 84 of file expand.h.


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