ResizeRingBuffer()

FUNKTION

protected struct std_ringbuffer buf RingBufferPut(
                                               struct std_ringbuffer buf,
                                               int size);

DEFINIERT IN

/std/util/ringbuffer.c
/sys/util/ringbuffer.h

ARGUMENTE

buf  - Ringpuffer, dessen Groesse geaendert werden soll
size - neue Groesse (int)

BESCHREIBUNG

Diese Funktion erstellt einen neuen Ringpuffer der Groesse <size>, welcher
den gleichen Modus hat wie <buf> und die gleichen Daten enthaelt.
Ist der neue Puffer kleiner als <buf>, so kommt es hierbei zu
Datenverlust.
<buf> wird nicht veraendert. Ist die Groesse von <buf> gleich der
neuen gewuenschten Groesse, wird letztendlich der Ringpuffer kopiert.
Je nach Groesse von <buf> und Wert von <size> kann dies eine teure
Angelegenheit sein.

RUeCKGABEWERT

Der neue Ringpuffer mit Groesse <size>.

BEISPIELE

// Ringpuffer anlegen:
struct std_ringbuffer buffer = CreateRingBuffer(5, MODE_FIFO);
// 5 Werte reinschreiben:
foreach(int i: 5) RingBufferPut(buffer, i);
// Groesse aendern
buffer = ResizeRingBuffer(buffer, 10);
// Daten als Array ermitteln:
mixed array = RingBufferGet(buffer);
// array enthaelt: ({0,0,0,0,0,0,1,2,3,4})

SIEHE AUCH

RingBufferGet(), RingBufferPut(), CreateRingBuffer()

23.05.2008, Zesstra