Inheritance diagram for ColumnWriter:
Public Types | |
typedef opShl | put |
typedef DisplayWriter opShl | opShl |
Public Member Functions | |
this (IBuffer buffer, ColumnList columns) | |
void | reset () |
override int | getWidth () |
IWriter | opShl (IWritable x) |
IWriter | opShl (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 | fformat (void *src, uint count, uint width) |
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 |
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 74 of file ColumnWriter.d.
|
Reimplemented from AbstractWriter. Definition at line 80 of file ColumnWriter.d. Referenced by testColumn(). |
|
Definition at line 81 of file ColumnWriter.d. |
|
Construct a ColumnWriter upon the given IBuffer, with the specified set of columns. Definition at line 90 of file ColumnWriter.d. References columns. |
|
Populate the space padding with valid spaces. Reimplemented from AbstractWriter. Definition at line 106 of file ColumnWriter.d. References spaces. |
|
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 124 of file ColumnWriter.d. References columns, and ColumnList::reset(). Referenced by opShl(). |
|
Definition at line 136 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 148 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 172 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 187 of file ColumnWriter.d. References columns, ColumnList::next(), and spaces. Referenced by opShl(). |
|
Construct a DisplayWriter upon the specified IBuffer Reimplemented from Writer. Reimplemented in HttpWriter, and FlushWriter. Definition at line 74 of file DisplayWriter.d. References AbstractWriter::enableArrayPrefix(). |
|
Construct a DisplayWriter upon the specified IConduit Reimplemented from Writer. Reimplemented in FlushWriter. Definition at line 102 of file DisplayWriter.d. |
|
Set the number of floating point digits Definition at line 113 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 125 of file DisplayWriter.d. References AbstractWriter::put, and DisplayWriter::tmp. Referenced by DisplayWriter::format(), DisplayWriter::int16f(), DisplayWriter::int32(), DisplayWriter::int32u(), DisplayWriter::int64(), DisplayWriter::int64u(), and DisplayWriter::int8f(). |
|
Definition at line 166 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 134 of file DisplayWriter.d. References DisplayWriter::format(). Referenced by DisplayWriter::int8(), and DisplayWriter::int8u(). |
|
Definition at line 150 of file DisplayWriter.d. References DisplayWriter::format(). Referenced by DisplayWriter::int16(), and DisplayWriter::int16u(). |
|
Definition at line 181 of file DisplayWriter.d. References DisplayWriter::digits, AbstractWriter::put, and DisplayWriter::tmp. Referenced by DisplayWriter::float32(), DisplayWriter::float64(), and DisplayWriter::float80(). |
|
Definition at line 205 of file DisplayWriter.d. |
|
Definition at line 223 of file DisplayWriter.d. References DisplayWriter::int8f(). |
|
Definition at line 232 of file DisplayWriter.d. References DisplayWriter::int8f(). |
|
Definition at line 241 of file DisplayWriter.d. References DisplayWriter::int16f(). |
|
Definition at line 250 of file DisplayWriter.d. References DisplayWriter::int16f(). |
|
Definition at line 259 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 268 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 277 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 286 of file DisplayWriter.d. References DisplayWriter::format(). |
|
Definition at line 295 of file DisplayWriter.d. References DisplayWriter::fformat(). |
|
Definition at line 304 of file DisplayWriter.d. References DisplayWriter::fformat(). |
|
Definition at line 313 of file DisplayWriter.d. References DisplayWriter::fformat(). |
|
Definition at line 76 of file ColumnWriter.d. |
|
Definition at line 77 of file ColumnWriter.d. Referenced by getWidth(), pad(), reset(), and this(). |
|
Definition at line 78 of file ColumnWriter.d. |