Inheritance diagram for ColumnWriter:
Public Types | |
typedef DisplayWriter put | put |
Public Member Functions | |
this (IBuffer buffer, ColumnList columns) | |
char[] | toString () |
void | reset () |
override int | getWidth () |
IWriter | put (IWritable x) |
IWriter | put (char[] x) |
Static Public Member Functions | |
this () | |
Private Member Functions | |
final void | pad () |
this (IBuffer buffer) | |
this (IConduit conduit) | |
void | setPrecision (uint digits) |
void | format (char[] fmt, void *src) |
void | format (void *src, uint count, uint width, char[] fmt) |
void | int8f (ubyte *src, uint count, char[] fmt) |
void | int16f (ushort *src, uint count, char[] fmt) |
void | int1 (void *src, uint count) |
void | int8 (void *src, uint count) |
void | int8u (void *src, uint count) |
void | int16 (void *src, uint count) |
void | int16u (void *src, uint count) |
void | int32 (void *src, uint count) |
void | int32u (void *src, uint count) |
void | int64 (void *src, uint count) |
void | int64u (void *src, uint count) |
void | float32 (void *src, uint count) |
void | float64 (void *src, uint count) |
void | float80 (void *src, uint count) |
Private Attributes | |
int | output |
ColumnList | columns |
public class VersionWin32 typedef _vsnprintf | vsnprintf |
Static Private Attributes | |
ubyte | spaces [256] |
This is how one might use ColumnWriter:
static int[] columns = [0, 4, 14, 24]; // map a ColumnWriter directly onto Stdout ColumnWriter cw = new ColumnWriter (Stdout.getBuffer(), new ColumnList(columns)); // set 2 digits of precision cw.setPrecision (2); // opShl style cw << 1 << 20.34944 << "test" << cw.newline; // put() style cw.put(1).put(20.34944).put("test").cr();
Note that ColumnWriter may be used with files, sockets, or any other buffer-oriented construct.
Definition at line 71 of file ColumnWriter.d.
|
Definition at line 77 of file ColumnWriter.d. Referenced by testColumn(). |
|
Construct a ColumnWriter upon the given IBuffer, with the specified set of columns. Definition at line 86 of file ColumnWriter.d. References columns. |
|
Populate the space padding with valid spaces. Reimplemented from AbstractWriter. Definition at line 102 of file ColumnWriter.d. References spaces. |
|
Return the name of this writer Reimplemented from DisplayWriter. Definition at line 111 of file ColumnWriter.d. |
|
Reset everything back to zero. Typical usage will invoke this whenever a Newline is emitted. Note that we maintain our own internal count of how many bytes have been output: this is because we cannot depend on the Buffer to provide that for us if (a) the buffer is very small, or (b) the buffer is flushed after each write (Stdout etc). Definition at line 129 of file ColumnWriter.d. References columns, and ColumnList::reset(). Referenced by put(). |
|
Definition at line 141 of file ColumnWriter.d. References columns, and ColumnList::getWidth(). |
|
Intercept the IWritable type so we can reset our columns when a newline is emitted. Reimplemented from AbstractWriter. Definition at line 153 of file ColumnWriter.d. References reset(). |
|
Intercept the output so we can write some spaces first. Note that our superclass (DisplayWriter) converts each of its arguments to a char[] first, so this override is able to catch everything emitted.
Reimplemented from AbstractWriter. Definition at line 177 of file ColumnWriter.d. References pad(). |
|
Pad the output with spaces to reach the next column position. This should be invoked before anything is written to the buffer. Definition at line 192 of file ColumnWriter.d. References columns, ColumnList::next(), and spaces. Referenced by put(). |
|
Construct a DisplayWriter upon the specified IBuffer Reimplemented from Writer. Reimplemented in HttpWriter. Definition at line 68 of file DisplayWriter.d. References AbstractWriter::enableArrayPrefix(). |
|
Construct a DisplayWriter upon the specified IConduit Reimplemented from Writer. Definition at line 96 of file DisplayWriter.d. |
|
Set the number of floating point digits Definition at line 116 of file DisplayWriter.d. Referenced by testColumn(). |
|
Convert to a string and send back through the framework such that it may be intercepted by a subclass. Definition at line 128 of file DisplayWriter.d. References DisplayWriter::encode, AbstractWriter::put(), and DisplayWriter::vsnprintf. Referenced by DisplayWriter::float32(), DisplayWriter::float64(), DisplayWriter::float80(), DisplayWriter::format(), DisplayWriter::int16f(), DisplayWriter::int32(), DisplayWriter::int32u(), DisplayWriter::int64(), DisplayWriter::int64u(), and DisplayWriter::int8f(). |
|
Definition at line 169 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 137 of file DisplayWriter.d. References DisplayWriter::format(). Referenced by DisplayWriter::int8(), and DisplayWriter::int8u(). |
|
Definition at line 153 of file DisplayWriter.d. References DisplayWriter::format(). Referenced by DisplayWriter::int16(), and DisplayWriter::int16u(). |
|
Definition at line 184 of file DisplayWriter.d. |
|
Definition at line 202 of file DisplayWriter.d. References DisplayWriter::int8f(). |
|
Definition at line 211 of file DisplayWriter.d. References DisplayWriter::int8f(). |
|
Definition at line 220 of file DisplayWriter.d. References DisplayWriter::int16f(). |
|
Definition at line 229 of file DisplayWriter.d. References DisplayWriter::int16f(). |
|
Definition at line 238 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 247 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 256 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 265 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 274 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 283 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 292 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 73 of file ColumnWriter.d. |
|
Definition at line 74 of file ColumnWriter.d. Referenced by getWidth(), pad(), reset(), and this(). |
|
Definition at line 75 of file ColumnWriter.d. |
|
Definition at line 59 of file DisplayWriter.d. Referenced by DisplayWriter::format(). |