docs/Writerside/topics/buffer.h.md

Sun, 02 Mar 2025 18:30:38 +0100

author
Mike Becker <universe@uap-core.de>
date
Sun, 02 Mar 2025 18:30:38 +0100
changeset 1235
3e058f5ba5dc
parent 1190
a7b913d5d589
permissions
-rw-r--r--

fix compilation problems with gcc below version 11

# Buffer

<warning>
Outdated Section - will be updated soon!
</warning>

Instances of this buffer implementation can be used to read from or write to memory like you would do with a stream.
This allows the use of `cx_stream_copy()` (see [](streams.h.md)) to copy contents from one buffer to another,
or from a file or network streams to the buffer and vice versa.

More features for convenient use of the buffer can be enabled, like automatic memory management and automatic
resizing of the buffer space.

Since UCX 3.0, the buffer also supports automatic flushing of contents to another stream (or buffer) as an alternative
to automatically resizing the buffer space.
Please refer to the API doc for the fields prefixed with `flush_` to learn more. 

<!--
## Undocumented Symbols (TODO)
### cxBufferAppend
### cxBufferClear
### cxBufferCreate
### cxBufferDestroy
### cxBufferEnableFlushing
### cxBufferEof
### cxBufferFlush
### cxBufferFree
### cxBufferGet
### cxBufferInit
### cxBufferMinimumCapacity
### cxBufferPut
### cxBufferPutString
### cxBufferRead
### cxBufferReset
### cxBufferSeek
### cxBufferShift
### cxBufferShiftLeft
### cxBufferShiftRight
### cxBufferTerminate
### cxBufferWrite
-->

<seealso>
<category ref="apidoc">
<a href="https://ucx.sourceforge.io/api/buffer_8h.html">buffer.h</a>
</category>
</seealso>

mercurial