blob: 128807f0fe92a0e4f304eb1e5516263c7e177253 [file] [log] [blame]
RingBufferGet()
***************
FUNKTION
========
protected mixed RingBufferGet(struct std_ringbuffer buf);
DEFINIERT IN
============
/std/util/ringbuffer.c
/sys/util/ringbuffer.h
ARGUMENTE
=========
buf - Ringpuffer, welcher ausgeben werden soll
BESCHREIBUNG
============
Diese Funktion liefert die Daten des Ringpuffers in Form eines Arrays
zurueck, welches dann weiterverarbeitet werden kann.
Die Reihenfolge der Daten ist entsprechend des beim Anlegen des
Ringpuffers angebenen Modes:
MODE_FIFO: aelteste Daten zuerst
MODE_LIFO: neueste Daten zuerst
BEMERKUNGEN
===========
Aenderungen am Array beeinflussen die Daten des Ringpuffers nicht. Aber:
Hierbei werden die Daten nicht tief kopiert. D.h. enthaelt der Ringpuffer
Referenzen auf weitere Daten, zeigen der Ringpuffer und das hier
gelieferte Array auf die gleichen Daten.
BEISPIELE
=========
// Ringpuffer anlegen:
struct std_ringbuffer buffer = CreateRingBuffer(10, MODE_FIFO);
// 15 Werte reinschreiben:
foreach(int i: 15) RingBufferPut(buffer, i);
// Werte abrufen:
mixed array=RingBufferGet(buffer);
// array enthaelt nun:
// ({5,6,7,8,9,10,11,12,13,14})
SIEHE AUCH
==========
CreateRingBuffer(), RingBufferPut(), ResizeRingBuffer()
23.05.2008, Zesstra