wide_output_head Class Reference

#include <head.h>

Inheritance diagram for wide_output_head:

wide_output

Public Member Functions

virtual ~wide_output_head ()

Static Public Member Functions

static pointer open (const wide_output::pointer &deeper, int nlines)

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_head (const wide_output::pointer &deeper, int nlines)
 wide_output_head ()
 wide_output_head (const wide_output_head &)
wide_output_headoperator= (const wide_output_head &)

Private Attributes

pointer deeper
int how_many_lines
bool prev_was_newline

Detailed Description

The wide_output_head class is used to preserve the first few lines of an output stream, and discard the rest. It is similar to the head(1) command.

Definition at line 30 of file head.h.


Constructor & Destructor Documentation

virtual wide_output_head::~wide_output_head (  )  [virtual]

The destructor.

wide_output_head::wide_output_head ( const wide_output::pointer deeper,
int  nlines 
) [private]

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

Parameters:
deeper where to send the filtered output
nlines the number of lines to keep (at the front)

wide_output_head::wide_output_head (  )  [private]

wide_output_head::wide_output_head ( const wide_output_head  )  [private]


Member Function Documentation

static pointer wide_output_head::open ( const wide_output::pointer deeper,
int  nlines 
) [static]

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

Parameters:
deeper where to send the filtered output
nlines the number of lines to keep (at the front)

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


Field Documentation

Definition at line 86 of file head.h.

Definition at line 87 of file head.h.

Definition at line 88 of file head.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