Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

Writer Class Reference

Inheritance diagram for Writer:

AbstractWriter DisplayWriter EndianWriter ColumnWriter FlushWriter HttpWriter TextWriter ConsoleWriter List of all members.

Public Member Functions

 this (IBuffer buffer)
 this (IConduit conduit)
void write (void *src, uint count)

Private Types

typedef put opShl
typedef put opCall

Private Member Functions

IBuffer getBuffer ()
void setEncoder (IEncoder e)
IWriter flush ()
IWriter cr ()
void enableArrayPrefix (bool on)
IWriter put ()
IWriter put (IWritable x)
IWriter put (bool x)
IWriter put (ubyte x)
IWriter put (byte x)
IWriter put (ushort x)
IWriter put (short x)
IWriter put (uint x)
IWriter put (int x)
IWriter put (ulong x)
IWriter put (long x)
IWriter put (float x)
IWriter put (double x)
IWriter put (real x)
IWriter put (char x)
IWriter put (wchar x)
IWriter put (dchar x)
IWriter put (byte[] x)
IWriter put (ubyte[] x)
IWriter put (short[] x)
IWriter put (ushort[] x)
IWriter put (int[] x)
IWriter put (uint[] x)
IWriter put (long[] x)
IWriter put (ulong[] x)
IWriter put (float[] x)
IWriter put (double[] x)
IWriter put (real[] x)
IWriter put (char[] x)
IWriter putw (wchar[] x)
IWriter putd (dchar[] x)

Static Private Member Functions

 this ()

Private Attributes

IBuffer buffer
Encoder encode

Static Private Attributes

IOException ovf

Detailed Description

Binary data Writer. Writers provide the means to append formatted data to an IBuffer, and expose a convenient method of handling a variety of data types. In addition to writing native types such as integer and char[], writers also process any class which has implemented the IWritable interface (one method).

See AbstractWriter for usage examples.

Definition at line 55 of file Writer.d.


Member Typedef Documentation

typedef put opShl [inherited]
 

Reimplemented from IWriter.

Definition at line 118 of file AbstractWriter.d.

typedef put opCall [inherited]
 

Reimplemented from IWriter.

Definition at line 119 of file AbstractWriter.d.


Member Function Documentation

this IBuffer  buffer  )  [inline]
 

Construct a Writer upon the provided IBuffer. All formatted output will be directed to this buffer.

Reimplemented from AbstractWriter.

Reimplemented in HttpWriter, DisplayWriter, FlushWriter, and EndianWriter.

Definition at line 64 of file Writer.d.

this IConduit  conduit  )  [inline]
 

Construct a Writer on the buffer associated with the given conduit.

Reimplemented in DisplayWriter, and FlushWriter.

Definition at line 92 of file Writer.d.

void write void *  src,
uint  count
[inline]
 

Definition at line 101 of file Writer.d.

References IBuffer::append().

this  )  [inline, static, inherited]
 

Construct some static exception instances

Reimplemented in ColumnWriter.

Definition at line 162 of file AbstractWriter.d.

References AbstractWriter::ovf.

IBuffer getBuffer  )  [inline, inherited]
 

Return the associated buffer

Reimplemented from IWriter.

Definition at line 185 of file AbstractWriter.d.

void setEncoder IEncoder  e  )  [inline, inherited]
 

Bind an IEncoder to the writer. Encoders are intended to be used as a conversion mechanism between various character representations (encodings), or the translation of any data type from one representation to another. Each data type may be configured with a distinct encoder, covering all native types (15 in total).

An appropriate encoder set should be attached to each IWriter, and thus be available for subsequent use. A raw binary implementation is attached by default (no encoding).

See module mango.icu.UMango for an example of encoder implementation -- those classes bind the ICU converters to this IO package.

Reimplemented from IWriter.

Definition at line 209 of file AbstractWriter.d.

References IEncoder::bind(), AbstractWriter::encode, AbstractWriter::Encoder::encoders, and IEncoder::type().

IWriter flush  )  [inline, inherited]
 

Flush the output of this writer. Returns false if the operation failed, true otherwise.

Reimplemented from IWriter.

Definition at line 221 of file AbstractWriter.d.

References IBuffer::flush().

Referenced by FlushWriter::put(), and AbstractWriter::put().

IWriter cr  )  [inline, inherited]
 

Output a newline. Do this indirectly so that it can be intercepted by subclasses.

Reimplemented from IWriter.

Definition at line 234 of file AbstractWriter.d.

References CR, and AbstractWriter::put().

void enableArrayPrefix bool  on  )  [inline, inherited]
 

Enable array prefixing. These prefixes represent the number of elements in the array, and are used when reading arrays back in again.

Definition at line 247 of file AbstractWriter.d.

References AbstractWriter::prefixArray.

Referenced by DisplayWriter::this().

IWriter put  )  [inline, inherited]
 

Flush this writer. This is a convenience method used by the "whisper" syntax.

Reimplemented from IWriter.

Definition at line 272 of file AbstractWriter.d.

References AbstractWriter::flush().

Referenced by AbstractWriter::cr(), DisplayWriter::fformat(), DisplayWriter::formatInt(), DisplayWriter::formatLong(), and AbstractWriter::length().

IWriter put IWritable  x  )  [inline, inherited]
 

Write a class to the current buffer-position

Reimplemented from IWriter.

Reimplemented in ColumnWriter, FlushWriter, and TextWriter.

Definition at line 283 of file AbstractWriter.d.

References assert(), and IWritable::write().

IWriter put bool  x  )  [inline, inherited]
 

Write a boolean value to the current buffer-position

Reimplemented from IWriter.

Definition at line 296 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int1.

IWriter put ubyte  x  )  [inline, inherited]
 

Write an unsigned byte value to the current buffer-position

Reimplemented from IWriter.

Definition at line 308 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int8u.

IWriter put byte  x  )  [inline, inherited]
 

Write a byte value to the current buffer-position

Reimplemented from IWriter.

Definition at line 320 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int8.

IWriter put ushort  x  )  [inline, inherited]
 

Write an unsigned short value to the current buffer-position

Reimplemented from IWriter.

Definition at line 332 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int16u.

IWriter put short  x  )  [inline, inherited]
 

Write a short value to the current buffer-position

Reimplemented from IWriter.

Definition at line 344 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int16.

IWriter put uint  x  )  [inline, inherited]
 

Write a unsigned int value to the current buffer-position

Reimplemented from IWriter.

Definition at line 356 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int32u.

IWriter put int  x  )  [inline, inherited]
 

Write an int value to the current buffer-position

Reimplemented from IWriter.

Definition at line 368 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int32.

IWriter put ulong  x  )  [inline, inherited]
 

Write an unsigned long value to the current buffer-position

Reimplemented from IWriter.

Definition at line 380 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int64u.

IWriter put long  x  )  [inline, inherited]
 

Write a long value to the current buffer-position

Reimplemented from IWriter.

Definition at line 392 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int64.

IWriter put float  x  )  [inline, inherited]
 

Write a float value to the current buffer-position

Reimplemented from IWriter.

Definition at line 404 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::float32.

IWriter put double  x  )  [inline, inherited]
 

Write a double value to the current buffer-position

Reimplemented from IWriter.

Definition at line 416 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::float64.

IWriter put real  x  )  [inline, inherited]
 

Write a real value to the current buffer-position

Reimplemented from IWriter.

Definition at line 428 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::float80.

IWriter put char  x  )  [inline, inherited]
 

Write a char value to the current buffer-position

Reimplemented from IWriter.

Definition at line 440 of file AbstractWriter.d.

References AbstractWriter::Encoder::char8, and AbstractWriter::encode.

IWriter put wchar  x  )  [inline, inherited]
 

Write a wide char value to the current buffer-position

Reimplemented from IWriter.

Definition at line 452 of file AbstractWriter.d.

References AbstractWriter::Encoder::char16, and AbstractWriter::encode.

IWriter put dchar  x  )  [inline, inherited]
 

Write a double char value to the current buffer-position

Reimplemented from IWriter.

Definition at line 464 of file AbstractWriter.d.

References AbstractWriter::Encoder::char32, and AbstractWriter::encode.

IWriter put byte[]  x  )  [inline, inherited]
 

Write a byte array to the current buffer-position

Reimplemented from IWriter.

Definition at line 476 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int8.

IWriter put ubyte[]  x  )  [inline, inherited]
 

Write an unsigned byte array to the current buffer-position

Reimplemented from IWriter.

Definition at line 488 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int8u.

IWriter put short[]  x  )  [inline, inherited]
 

Write a short array to the current buffer-position

Reimplemented from IWriter.

Definition at line 500 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int16.

IWriter put ushort[]  x  )  [inline, inherited]
 

Write an unsigned short array to the current buffer-position

Reimplemented from IWriter.

Definition at line 512 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int16u.

IWriter put int[]  x  )  [inline, inherited]
 

Write an int array to the current buffer-position

Reimplemented from IWriter.

Definition at line 524 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int32.

IWriter put uint[]  x  )  [inline, inherited]
 

Write an unsigned int array to the current buffer-position

Reimplemented from IWriter.

Definition at line 536 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int32u.

IWriter put long[]  x  )  [inline, inherited]
 

Write a long array to the current buffer-position

Reimplemented from IWriter.

Definition at line 548 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int64.

IWriter put ulong[]  x  )  [inline, inherited]
 

Write an unsigned long array to the current buffer-position

Reimplemented from IWriter.

Definition at line 560 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::int64u.

IWriter put float[]  x  )  [inline, inherited]
 

Write a float array to the current buffer-position

Reimplemented from IWriter.

Definition at line 572 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::float32.

IWriter put double[]  x  )  [inline, inherited]
 

Write a double array to the current buffer-position

Reimplemented from IWriter.

Definition at line 584 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::float64.

IWriter put real[]  x  )  [inline, inherited]
 

Write a real array to the current buffer-position

Reimplemented from IWriter.

Definition at line 596 of file AbstractWriter.d.

References AbstractWriter::encode, and AbstractWriter::Encoder::float80.

IWriter put char[]  x  )  [inline, inherited]
 

Write a char array to the current buffer-position

Reimplemented from IWriter.

Reimplemented in ColumnWriter, and TextWriter.

Definition at line 608 of file AbstractWriter.d.

References AbstractWriter::Encoder::char8, and AbstractWriter::encode.

IWriter putw wchar[]  x  )  [inline, inherited]
 

Write a char array to the current buffer-position

Reimplemented from IWriter.

Reimplemented in TextWriter.

Definition at line 620 of file AbstractWriter.d.

References AbstractWriter::Encoder::char16, and AbstractWriter::encode.

IWriter putd dchar[]  x  )  [inline, inherited]
 

Write a char array to the current buffer-position

Reimplemented from IWriter.

Reimplemented in TextWriter.

Definition at line 632 of file AbstractWriter.d.

References AbstractWriter::Encoder::char32, and AbstractWriter::encode.


Member Data Documentation

IOException ovf [static, protected, inherited]
 

Definition at line 148 of file AbstractWriter.d.

Referenced by AbstractWriter::this().

IBuffer buffer [protected, inherited]
 

Definition at line 150 of file AbstractWriter.d.

Encoder encode [protected, inherited]
 

Definition at line 152 of file AbstractWriter.d.

Referenced by AbstractWriter::put(), AbstractWriter::putd(), AbstractWriter::putw(), and AbstractWriter::setEncoder().


The documentation for this class was generated from the following file:
Generated on Sat Apr 9 20:11:49 2005 for Mango by doxygen 1.3.6