Aegis  4.25.D505
Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
output_to_wide Class Reference

#include <to_wide.h>

Inheritance diagram for output_to_wide:
output

Public Member Functions

virtual ~output_to_wide ()

Static Public Member Functions

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

Protected Member Functions

nstring filename (void) const
nstring type_name (void) const
long ftell_inner (void) const
void write_inner (const void *data, size_t length)
void end_of_line_inner (void)
void flush_inner (void)
int page_width (void) const
int page_length (void) const

Private Member Functions

 output_to_wide (const wide_output::pointer &deeper)
 output_to_wide ()
 output_to_wide (const output_to_wide &)
output_to_wideoperator= (const output_to_wide &)

Private Attributes

wide_output::pointer deeper
char * input_buf
size_t input_len
size_t input_max
mbstate_t input_state
bool input_bol
wchar_toutput_buf
size_t output_len
size_t output_max

Detailed Description

The output_to_wide class is used to represent a narrow character to wide character filter.

Definition at line 29 of file to_wide.h.


Constructor & Destructor Documentation

virtual output_to_wide::~output_to_wide ( ) [virtual]

The destructor.

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

Parameters:
deeperthe deeper wide output stream on which this filter writes to.

The default constructor. Do not use.

The copy constructor. Do not use.


Member Function Documentation

void output_to_wide::end_of_line_inner ( void  ) [protected, virtual]

The end_of_line_inner method is used to ensure that the current output position is at the beginning of a line, without taking the buffering into account.

Implements output.

nstring output_to_wide::filename ( void  ) const [protected, virtual]

The filename method is used to obtain the filename of this output.

Implements output.

void output_to_wide::flush_inner ( void  ) [protected, virtual]

The flush_inner method is called by the flush method once all the data has been written. The default implementation does nothing.

Reimplemented from output.

long output_to_wide::ftell_inner ( void  ) const [protected, virtual]

The ftell_inner method is used to determine the current file position, without taking the buffering into account.

Implements output.

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

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

Parameters:
deeperthe deeper wide output stream on which this filter writes to.
output_to_wide& output_to_wide::operator= ( const output_to_wide ) [private]

The assignment operator. Do not use.

int output_to_wide::page_length ( void  ) const [protected, virtual]

The page_length method is used to obtain the length of the page of the output device.

Reimplemented from output.

int output_to_wide::page_width ( void  ) const [protected, virtual]

The page_width method is used to obtain the width of the page of the output device.

Reimplemented from output.

nstring output_to_wide::type_name ( void  ) const [protected, virtual]

The type_name method is used to determine the name of this output device or file or type.

Implements output.

void output_to_wide::write_inner ( const void *  data,
size_t  length 
) [protected, virtual]

The write_inner method is used write data to the output, without taking the buffering into account.

Implements output.


Field Documentation

The deeper instance variable is used to remember the deeper output stream on which this filter writes to.

Definition at line 88 of file to_wide.h.

bool output_to_wide::input_bol [private]

Definition at line 94 of file to_wide.h.

char* output_to_wide::input_buf [private]

Definition at line 90 of file to_wide.h.

size_t output_to_wide::input_len [private]

Definition at line 91 of file to_wide.h.

size_t output_to_wide::input_max [private]

Definition at line 92 of file to_wide.h.

Definition at line 93 of file to_wide.h.

Definition at line 95 of file to_wide.h.

size_t output_to_wide::output_len [private]

Definition at line 96 of file to_wide.h.

size_t output_to_wide::output_max [private]

Definition at line 97 of file to_wide.h.


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