blob: 8d6b46773572525f50144c295069eadb386d2235 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001RingBufferGet()
2
3FUNKTION:
4 protected mixed RingBufferGet(struct std_ringbuffer buf);
5
6DEFINIERT IN:
7 /std/util/ringbuffer.c
8 /sys/util/ringbuffer.h
9
10ARGUMENTE:
11 buf - Ringpuffer, welcher ausgeben werden soll
12
13BESCHREIBUNG:
14 Diese Funktion liefert die Daten des Ringpuffers in Form eines Arrays
15 zurueck, welches dann weiterverarbeitet werden kann.
16 Die Reihenfolge der Daten ist entsprechend des beim Anlegen des
17 Ringpuffers angebenen Modes:
18 MODE_FIFO: aelteste Daten zuerst
19 MODE_LIFO: neueste Daten zuerst
20
21BEMERKUNGEN:
22 Aenderungen am Array beeinflussen die Daten des Ringpuffers nicht. Aber:
23 Hierbei werden die Daten nicht tief kopiert. D.h. enthaelt der Ringpuffer
24 Referenzen auf weitere Daten, zeigen der Ringpuffer und das hier
25 gelieferte Array auf die gleichen Daten.
26
27BEISPIELE:
28 // Ringpuffer anlegen:
29 struct std_ringbuffer buffer = CreateRingBuffer(10, MODE_FIFO);
30 // 15 Werte reinschreiben:
31 foreach(int i: 15) RingBufferPut(buffer, i);
32 // Werte abrufen:
33 mixed array=RingBufferGet(buffer);
34 // array enthaelt nun:
35 // ({5,6,7,8,9,10,11,12,13,14})
36
37SIEHE AUCH:
38 CreateRingBuffer(), RingBufferPut(), ResizeRingBuffer()
39
4023.05.2008, Zesstra
41