wide_output_wrap Class Reference

#include <wrap.h>

Inheritance diagram for wide_output_wrap:

wide_output

Public Member Functions

virtual ~wide_output_wrap ()

Static Public Member Functions

static pointer open (const wide_output::pointer &deeper, int width=-1)

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_wrap (const wide_output::pointer &deeper, int width)
void wrap ()
 wide_output_wrap ()
 wide_output_wrap (const wide_output_wrap &)
wide_output_wrapoperator= (const wide_output_wrap &)

Private Attributes

wide_output::pointer deeper
int width
wstring_accumulator buf

Detailed Description

This wide output class is used to wrap overly long lines.

It DOES NOT catenate lines before wrapping, so it can't be used as a kind of fmt(1) equivalent.

Definition at line 32 of file wrap.h.


Constructor & Destructor Documentation

virtual wide_output_wrap::~wide_output_wrap (  )  [virtual]

The destructor.

wide_output_wrap::wide_output_wrap ( const wide_output::pointer deeper,
int  width 
) [private]

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

Parameters:
deeper where to write the filtered output.
width the column width to wrap within, or <=0 to use deeper->page_width()

wide_output_wrap::wide_output_wrap (  )  [private]

The default constructor. Do not use.

wide_output_wrap::wide_output_wrap ( const wide_output_wrap  )  [private]

The copy constructor. Do not use.


Member Function Documentation

static pointer wide_output_wrap::open ( const wide_output::pointer deeper,
int  width = -1 
) [static]

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

Parameters:
deeper where to write the filtered output.
width the column width to wrap within, or <=0 to use deeper->page_width()

nstring wide_output_wrap::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_wrap::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_wrap::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_wrap::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_wrap::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_wrap::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_wrap::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.

void wide_output_wrap::wrap (  )  [private]

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

The assignment operator. Do not use.


Field Documentation

Definition at line 88 of file wrap.h.

int wide_output_wrap::width [private]

Definition at line 89 of file wrap.h.

Definition at line 90 of file wrap.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