|
Evo C++ Library v0.5.1
|
#include <evo/impl/sysio.h>

Buffered writer for IoDevice (used internally).
Public Member Functions | |
| IoWriter (ulong newsize=0, Newline nl=NL_SYS) | |
| Constructor to set new buffer size and newline value. More... | |
| ulong | avail () const |
| Get size available. More... | |
| ulong | avail (ulong checksize) const |
| Get size up to size available. More... | |
| RawBuffer & | clear () |
| Clear buffer. More... | |
| void | close () |
| Close output. More... | |
| void | flush (ulong &offset) |
| Flush data already read from buffer using offset. More... | |
| template<class T > | |
| Error | flush (T &out) |
| Flush buffer by writing to device. More... | |
| ulong | insert (ulong index, ulong size=1) |
| Make room to insert items. More... | |
| RawBuffer & | minsize (ulong min) |
| Resize buffer if smaller than minimum size. More... | |
| void | open (bool flushlines_val=false) |
| Initialize and open for output (writing). More... | |
| ulong | read (ulong &offset, char *buf, ulong readsize) |
| Read from buffer using offset. More... | |
| RawBuffer & | ref (char *data, ulong size, ulong used=0) |
| Reference another buffer. More... | |
| RawBuffer & | remove (ulong index, ulong size=1) |
| Remove items. More... | |
| RawBuffer & | reset () |
| Reset to empty state without a buffer. More... | |
| RawBuffer & | resize (ulong newsize) |
| Resize buffer. More... | |
| ulong | write (const char *buf, ulong writesize) |
| Write at end of buffer. More... | |
| ulong | write (char ch, ulong count=1) |
| Write character at end of buffer. More... | |
| template<class T > | |
| ulong | writebin (Error &err, T &out, const void *buf, ulong bufsize) |
| Write data to device using buffer. More... | |
| template<class T > | |
| ulong | writebin2 (Error &err, T &out, const void *buf, ulong bufsize, ulong count) |
| Write repeated data to device using buffer. More... | |
| template<class T > | |
| ulong | writebin_char (Error &err, T &out, char ch, ulong count) |
| Write repeated character to device using buffer. More... | |
| template<class TOut > | |
| Error | writefmtchar (TOut &out, char ch, ulong count, const FmtSetField &field) |
| Write repeated character data to device using buffer, formatted with field alignment. More... | |
| template<class TOut > | |
| Error | writefmtdump (TOut &out, const FmtDump &fmt, const char *newline, uint newlinesize) |
| Write formatted buffer dump in hex. More... | |
| template<class TOut , class TNum > | |
| Error | writefmtnum (TOut &out, TNum num, const FmtSetInt &fmt, const FmtSetField *field=NULL) |
| Write formatted signed number to device using buffer, using field attributes. More... | |
| template<class TOut , class TNum > | |
| Error | writefmtnumf (TOut &out, TNum num, const FmtSetFloat &fmt, const FmtSetField *field=NULL) |
| Write formatted floating point number to device using buffer, using field attributes. More... | |
| template<class TOut , class TNum > | |
| Error | writefmtnumu (TOut &out, TNum num, const FmtSetInt &fmt, const FmtSetField *field=NULL) |
| Write formatted unsigned number to device using buffer, using field attributes. More... | |
| template<class TOut > | |
| Error | writefmtstr (TOut &out, const char *str, ulong strsize, const FmtSetField &field) |
| Write string data to device using buffer, formatted with field alignment. More... | |
| template<class TOut , class TNum > | |
| Error | writenum (TOut &out, TNum num, int base=fDEC) |
| Write formatted signed number to device using buffer. More... | |
| template<class TOut , class TNum > | |
| Error | writenumf (TOut &out, TNum num, int precision=fPREC_AUTO) |
| Write formatted floating-point number to device using buffer. More... | |
| template<class TOut , class TNum > | |
| Error | writenumu (TOut &out, TNum num, int base=fDEC) |
| Write formatted unsigned number to device using buffer. More... | |
| template<class T > | |
| ulong | writetext (Error &err, T &out, const char *buf, ulong bufsize) |
| Write data to device using buffer. More... | |
| template<class T > | |
| ulong | writetext_char (Error &err, T &out, char ch, ulong count) |
| Write data to device using buffer. More... | |
Public Attributes | |
| char * | data |
| Buffer data pointer, NULL if empty (size=0) More... | |
| bool | flushlines |
| Whether to flush after each line (aka line buffering) – only applies to text writes, i.e. writetext() More... | |
| const char * | newline |
| Default newline string for formatting – do not modify. More... | |
| uint | newlinesize |
| Size of default newline string to use, i.e. strlen(newline) – do not modify. More... | |
| bool | owned |
| Whether this owns the buffer and must free it. More... | |
| char | partnl |
| Used internally for handling partial newlines between writetext() calls. More... | |
| ulong | size |
| Buffer size (capacity) in bytes – do not modify, use: resize(), minsize(), reset(), ref() More... | |
| ulong | timeout_ms |
| Write timeout in milliseconds, 0 for none (no timeout) More... | |
| ulong | used |
| Buffer size in use in bytes. More... | |
Static Public Attributes | |
| static const ulong | DEFSIZE = 16384 |
| Default buffer size (16KB, power of 2 and multiple of common filesystem block size 4KB) More... | |
Constructor to set new buffer size and newline value.
| newsize | New buffer size |
| nl | Default newline value for formatting (defaults to NL_SYS) |
|
inlineinherited |
Get size available.
|
inlineinherited |
Get size up to size available.
| checksize | Size to check against size available |
checksize, whichever is smaller
|
inlineinherited |
Clear buffer.
|
inline |
Close output.
|
inlineinherited |
Flush data already read from buffer using offset.
| offset | Offset to use and update, will be set to 0 [in/out] |
|
inline |
Flush buffer by writing to device.
| T | IoDevice to flush and write to |
| out | Device to write to |
|
inlineinherited |
Make room to insert items.
| index | Insert index, END to append |
| size | Insert size in bytes, must be postive |
|
inlineinherited |
Resize buffer if smaller than minimum size.
| min | Minimum size in bytes |
|
inline |
Initialize and open for output (writing).
| flushlines_val | Whether to flush on each newline |
|
inlineinherited |
Read from buffer using offset.
| offset | Offset to use and update [in/out] |
| buf | Buffer to read/copy to |
| readsize | Read size in bytes, reduced if too large |
|
inlineinherited |
Reference another buffer.
| data | Buffer data pointer, must not be NULL |
| size | Buffer size (capacity) in bytes, must be > 0 |
| used | Buffer size in use in bytes, must be <= size |
|
inlineinherited |
Remove items.
| index | Insert index |
| size | Remove size in bytes |
|
inlineinherited |
Reset to empty state without a buffer.
|
inlineinherited |
Resize buffer.
| newsize | New size in bytes, 0 to free |
|
inlineinherited |
Write at end of buffer.
| buf | Buffer to write from |
| writesize | Write size in bytes, reduced if too large |
|
inlineinherited |
Write character at end of buffer.
| ch | Character to write |
| count | Character repeat count, reduced if too large |
|
inline |
Write data to device using buffer.
| T | IoDevice to write to |
| err | Stores ENone on success, error code on error [out] |
| out | Device to write to |
| buf | Data buffer to write from |
| bufsize | Data size to write in bytes |
|
inline |
Write repeated data to device using buffer.
| T | IoDevice to write to |
| err | Stores ENone on success, error code on error [out] |
| out | Device to write to |
| buf | Data buffer to write repeatedly from |
| bufsize | Data size to write in bytes |
| count | Data repeat count (2 = 2*bufsize) |
|
inline |
Write repeated character to device using buffer.
| T | IoDevice to write to |
| err | Stores ENone on success, error code on error [out] |
| out | Device to write to |
| ch | Character to write |
| count | Character repeat count to write |
|
inline |
Write repeated character data to device using buffer, formatted with field alignment.
| T | IoDevice to write to |
| out | Device to write to |
| ch | Character to write |
| count | Character repeat count to use |
| field | Field attributes to use |
|
inline |
Write formatted buffer dump in hex.
| TOut | IoDevice to write to |
| out | Device to write to |
| fmt | Format data, including buffer to dump |
| newline | Newline string to use |
| newlinesize | Newline string size |
|
inline |
Write formatted signed number to device using buffer, using field attributes.
| TOut | IoDevice to write to |
| TNum | Signed number type |
| out | Device to write to |
| num | Number to format and write |
| fmt | Integer formatting attributes to use |
| field | Field formatting attributes to use, NULL for none |
|
inline |
Write formatted floating point number to device using buffer, using field attributes.
| TOut | IoDevice to write to |
| TNum | Signed number type |
| out | Device to write to |
| num | Number to format and write |
| fmt | Floating point formatting attributes to use |
| field | Field formatting attributes to use, NULL for none |
|
inline |
Write formatted unsigned number to device using buffer, using field attributes.
| TOut | IoDevice to write to |
| TNum | Signed number type |
| out | Device to write to |
| num | Number to format and write |
| fmt | Integer formatting attributes to use |
| field | Field formatting attributes to use, NULL for none |
|
inline |
Write string data to device using buffer, formatted with field alignment.
| T | IoDevice to write to |
| out | Device to write to |
| str | String data buffer to write from |
| strsize | String data size to write in bytes |
| field | Field attributes to use |
Write formatted signed number to device using buffer.
| TOut | IoDevice to write to |
| TNum | Signed number type |
| out | Device to write to |
| num | Number to format and write |
| base | Base to use for formatting |
|
inline |
Write formatted floating-point number to device using buffer.
| TOut | IoDevice to write to |
| TNum | Floating-point number number type |
| out | Device to write to |
| num | Number to format and write |
| precision | Formatting precision (number of fractional digits), 0 for none, fPREC_AUTO for automatic |
Write formatted unsigned number to device using buffer.
| TOut | IoDevice to write to |
| TNum | Unsigned number type |
| out | Device to write to |
| num | Number to format and write |
| base | Base to use for formatting |
|
inline |
Write data to device using buffer.
| T | IoDevice to write to |
| err | Stores ENone on success, error code on error [out] |
| out | Device to write to |
| buf | Data buffer to write from |
| bufsize | Data size to write in bytes |
|
inline |
Write data to device using buffer.
| T | IoDevice to write to |
| err | Stores ENone on success, error code on error [out] |
| out | Device to write to |
| ch | Data buffer to write from |
| count | Data size to write in bytes |
|
inherited |
Buffer data pointer, NULL if empty (size=0)
|
static |
Default buffer size (16KB, power of 2 and multiple of common filesystem block size 4KB)
| bool flushlines |
Whether to flush after each line (aka line buffering) – only applies to text writes, i.e. writetext()
| const char* newline |
Default newline string for formatting – do not modify.
| uint newlinesize |
Size of default newline string to use, i.e. strlen(newline) – do not modify.
|
inherited |
Whether this owns the buffer and must free it.
| char partnl |
Used internally for handling partial newlines between writetext() calls.
|
inherited |
| ulong timeout_ms |
Write timeout in milliseconds, 0 for none (no timeout)
|
inherited |
Buffer size in use in bytes.
1.8.13