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

DisplayWriter Class Reference

Inheritance diagram for DisplayWriter:

Writer ColumnWriter FlushWriter HttpWriter TextWriter List of all members.

Public Member Functions

typedef FormatStructTemplate (char) Format
 this (IBuffer buffer, char[] workspace=null, Format.DblFormat df=&Double.format)
 this (IConduit conduit)
int print (char[] s, TypeInfo[] ti, va_list args)
DisplayWriter print (char[] s,...)
DisplayWriter println (char[] s,...)
bool isTextBased ()

Protected Member Functions

override IWriter write (void *src, uint bytes, int type)

Private Member Functions

uint emit (void[] x, uint type)
 this (IBuffer buffer)
void error (char[] msg)
IBuffer getBuffer ()
IConduit conduit ()
void setEncoder (AbstractEncoder e)
IWriter flush ()
IWriter cr ()
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 put (wchar[] x)
IWriter put (dchar[] x)
IWriter encode (void *src, uint bytes, int type)

Private Attributes

Format format
char[128] workspace
IBuffer buffer

Detailed Description

Format output suitable for presentation. DisplayWriter provide the means to append formatted data to an IBuffer, and exposes a convenient method of handling a variety of data types.

DisplayWriter supports the usual printf() format specifiers & flags, and extends the notion to operate with one dimensional arrays. For instance, this code

        static int x = [1, 2, 3, 4, 5, 6, 7, 8];

        Stdout.print ("%@04b, ", x);

results in the following output:

        0001, 0010, 0011, 0100, 0101, 0110, 0111, 1000,

Note that DisplayWriter itself is a wrapper around the mango.convert package, which can be used directly as desired (Integer, Double, DGDouble, etc). The latter classes are home to a set of static formatting-methods, making them convenient for ad-hoc application.

Mango.convert also has Format and Sprint classes for working directly with text arrays.

Definition at line 83 of file DisplayWriter.d.


Member Function Documentation

typedef FormatStructTemplate char   ) 
 

this IBuffer  buffer,
char[]  workspace = null,
Format.DblFormat  df = &Double.format
[inline]
 

Construct a DisplayWriter upon the specified IBuffer. One can override the default floating-point formatting by providing an appropriate handler to this constructor. For example, one might configure the DGDouble.format() function instead.

Definition at line 100 of file DisplayWriter.d.

References Double, emit(), format, Format, and workspace.

this IConduit  conduit  )  [inline]
 

Construct a DisplayWriter upon the specified IConduit

Reimplemented from Writer.

Reimplemented in FlushWriter.

Definition at line 118 of file DisplayWriter.d.

References Buffer.

int print char[]  s,
TypeInfo[]  ti,
va_list  args
[inline]
 

Format a set of arguments a la printf(). Please see module mango.convert.Format for details

Definition at line 130 of file DisplayWriter.d.

References format.

Referenced by print(), and println().

DisplayWriter print char[]  s,
  ...
[inline]
 

Format a set of arguments a la printf(). Please see module mango.convert.Format for details

Definition at line 142 of file DisplayWriter.d.

References print().

DisplayWriter println char[]  s,
  ...
[inline]
 

Format a set of arguments a la printf(). Please see module mango.convert.Format for details

Definition at line 155 of file DisplayWriter.d.

References print(), and Writer::put().

bool isTextBased  )  [inline]
 

Is this Writer text oriented?

Reimplemented from Writer.

Definition at line 168 of file DisplayWriter.d.

override IWriter write void *  src,
uint  bytes,
int  type
[inline, protected]
 

Intercept discrete output and convert it to printable form

Reimplemented from Writer.

Definition at line 179 of file DisplayWriter.d.

References format, and type().

uint emit void[]  x,
uint  type
[inline, private]
 

formatting handler

Definition at line 191 of file DisplayWriter.d.

References Writer::encode(), and type().

Referenced by this().

this IBuffer  buffer  )  [inline, inherited]
 

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

Reimplemented in HttpWriter, EndianWriter, and FlushWriter.

Definition at line 147 of file Writer.d.

References Writer::buffer, Writer::error(), IBuffer::getStyle(), Writer::isTextBased(), and Writer::prefixArray.

void error char[]  msg  )  [inline, inherited]
 

Definition at line 174 of file Writer.d.

References Writer::buffer, and IBuffer::error().

Referenced by Writer::this().

IBuffer getBuffer  )  [inline, inherited]
 

Return the associated buffer

Reimplemented from IWriter.

Definition at line 185 of file Writer.d.

References Writer::buffer.

IConduit conduit  )  [inline, inherited]
 

Definition at line 194 of file Writer.d.

References Writer::buffer, and IBuffer::getConduit().

Referenced by Writer::this().

void setEncoder AbstractEncoder  e  )  [inline, inherited]
 

Bind an IEncoder to the writer. Encoders are intended to be used as a conversion mechanism between various character representations (encodings). Each writer may be configured with a distinct encoder.

Reimplemented from IWriter.

Definition at line 208 of file Writer.d.

References AbstractEncoder::bind(), Writer::buffer, and AbstractEncoder::encoder().

IWriter flush  )  [inline, inherited]
 

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

Reimplemented from IWriter.

Definition at line 232 of file Writer.d.

References Writer::buffer, and IBuffer::flush().

Referenced by Writer::put(), and FlushWriter::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 245 of file Writer.d.

References CR, and Writer::put().

IWriter put  )  [inline, inherited]
 

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

Reimplemented from IWriter.

Definition at line 257 of file Writer.d.

References Writer::flush().

Referenced by Writer::cr(), Writer::length(), and println().

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 268 of file Writer.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 281 of file Writer.d.

References Writer::write().

IWriter put ubyte  x  )  [inline, inherited]
 

Write an unsigned byte value to the current buffer-position

Reimplemented from IWriter.

Definition at line 292 of file Writer.d.

References Writer::write().

IWriter put byte  x  )  [inline, inherited]
 

Write a byte value to the current buffer-position

Reimplemented from IWriter.

Definition at line 303 of file Writer.d.

References Writer::write().

IWriter put ushort  x  )  [inline, inherited]
 

Write an unsigned short value to the current buffer-position

Reimplemented from IWriter.

Definition at line 314 of file Writer.d.

References Writer::write().

IWriter put short  x  )  [inline, inherited]
 

Write a short value to the current buffer-position

Reimplemented from IWriter.

Definition at line 325 of file Writer.d.

References Writer::write().

IWriter put uint  x  )  [inline, inherited]
 

Write a unsigned int value to the current buffer-position

Reimplemented from IWriter.

Definition at line 336 of file Writer.d.

References Writer::write().

IWriter put int  x  )  [inline, inherited]
 

Write an int value to the current buffer-position

Reimplemented from IWriter.

Definition at line 347 of file Writer.d.

References Writer::write().

IWriter put ulong  x  )  [inline, inherited]
 

Write an unsigned long value to the current buffer-position

Reimplemented from IWriter.

Definition at line 358 of file Writer.d.

References Writer::write().

IWriter put long  x  )  [inline, inherited]
 

Write a long value to the current buffer-position

Reimplemented from IWriter.

Definition at line 369 of file Writer.d.

References Writer::write().

IWriter put float  x  )  [inline, inherited]
 

Write a float value to the current buffer-position

Reimplemented from IWriter.

Definition at line 380 of file Writer.d.

References Writer::write().

IWriter put double  x  )  [inline, inherited]
 

Write a double value to the current buffer-position

Reimplemented from IWriter.

Definition at line 391 of file Writer.d.

References Writer::write().

IWriter put real  x  )  [inline, inherited]
 

Write a real value to the current buffer-position

Reimplemented from IWriter.

Definition at line 402 of file Writer.d.

References Writer::write().

IWriter put char  x  )  [inline, inherited]
 

Write a char value to the current buffer-position

Reimplemented from IWriter.

Definition at line 413 of file Writer.d.

References Writer::encode().

IWriter put wchar  x  )  [inline, inherited]
 

Write a wchar value to the current buffer-position

Reimplemented from IWriter.

Definition at line 424 of file Writer.d.

References Writer::encode().

IWriter put dchar  x  )  [inline, inherited]
 

Write a dchar value to the current buffer-position

Reimplemented from IWriter.

Definition at line 435 of file Writer.d.

References Writer::encode().

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

Write a byte array to the current buffer-position

Reimplemented from IWriter.

Definition at line 446 of file Writer.d.

References Writer::length(), and Writer::write().

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

Write an unsigned byte array to the current buffer-position

Reimplemented from IWriter.

Definition at line 457 of file Writer.d.

References Writer::length(), and Writer::write().

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

Write a short array to the current buffer-position

Reimplemented from IWriter.

Definition at line 468 of file Writer.d.

References Writer::length(), and Writer::write().

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

Write an unsigned short array to the current buffer-position

Reimplemented from IWriter.

Definition at line 479 of file Writer.d.

References Writer::length(), and Writer::write().

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

Write an int array to the current buffer-position

Reimplemented from IWriter.

Definition at line 490 of file Writer.d.

References Writer::length(), and Writer::write().

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

Write an unsigned int array to the current buffer-position

Reimplemented from IWriter.

Definition at line 501 of file Writer.d.

References Writer::length(), and Writer::write().

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

Write a long array to the current buffer-position

Reimplemented from IWriter.

Definition at line 512 of file Writer.d.

References Writer::length(), and Writer::write().

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

Write an unsigned long array to the current buffer-position

Reimplemented from IWriter.

Definition at line 523 of file Writer.d.

References Writer::length(), and Writer::write().

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

Write a float array to the current buffer-position

Reimplemented from IWriter.

Definition at line 534 of file Writer.d.

References Writer::length(), and Writer::write().

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

Write a double array to the current buffer-position

Reimplemented from IWriter.

Definition at line 545 of file Writer.d.

References Writer::length(), and Writer::write().

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

Write a real array to the current buffer-position

Reimplemented from IWriter.

Definition at line 556 of file Writer.d.

References Writer::length(), and Writer::write().

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

Write a char array to the current buffer-position

Reimplemented from IWriter.

Definition at line 567 of file Writer.d.

References Writer::encode(), and Writer::length().

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

Write a wchar array to the current buffer-position

Reimplemented from IWriter.

Definition at line 578 of file Writer.d.

References Writer::encode(), and Writer::length().

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

Write a dchar array to the current buffer-position

Reimplemented from IWriter.

Definition at line 589 of file Writer.d.

References Writer::encode(), and Writer::length().

IWriter encode void *  src,
uint  bytes,
int  type
[inline, protected, inherited]
 

Handle text output. This is intended to be intercepted by subclasses, though they should always pump content through here to take advantage of configured encoding

Reimplemented in ColumnWriter, and TextWriter.

Definition at line 615 of file Writer.d.

References IBuffer::append(), Writer::buffer, Writer::textEncoder, and type().

Referenced by emit(), and Writer::put().


Member Data Documentation

Format format [private]
 

Definition at line 87 of file DisplayWriter.d.

Referenced by print(), this(), and write().

char [128] workspace [private]
 

Definition at line 88 of file DisplayWriter.d.

Referenced by this().

IBuffer buffer [protected, inherited]
 

Definition at line 136 of file Writer.d.

Referenced by Writer::conduit(), Writer::encode(), Writer::error(), Writer::flush(), Writer::getBuffer(), Writer::setEncoder(), Writer::this(), and Writer::write().


The documentation for this class was generated from the following file:
Generated on Sat Dec 24 17:28:38 2005 for Mango by  doxygen 1.4.0