blob: e6a528f0a514978521231d8a5b13355a624e8940 [file] [log] [blame]
MG Mud User88f12472016-06-24 23:31:02 +02001RingBufferGet()
Zesstra953f9972017-02-18 15:37:36 +01002***************
MG Mud User88f12472016-06-24 23:31:02 +02003
MG Mud User88f12472016-06-24 23:31:02 +02004
Zesstra953f9972017-02-18 15:37:36 +01005FUNKTION
6========
MG Mud User88f12472016-06-24 23:31:02 +02007
Zesstra953f9972017-02-18 15:37:36 +01008 protected mixed RingBufferGet(struct std_ringbuffer buf);
MG Mud User88f12472016-06-24 23:31:02 +02009
MG Mud User88f12472016-06-24 23:31:02 +020010
Zesstra953f9972017-02-18 15:37:36 +010011DEFINIERT IN
12============
MG Mud User88f12472016-06-24 23:31:02 +020013
Zesstra953f9972017-02-18 15:37:36 +010014 /std/util/ringbuffer.c
15 /sys/util/ringbuffer.h
MG Mud User88f12472016-06-24 23:31:02 +020016
Zesstra953f9972017-02-18 15:37:36 +010017
18ARGUMENTE
19=========
20
21 buf - Ringpuffer, welcher ausgeben werden soll
22
23
24BESCHREIBUNG
25============
26
27 Diese Funktion liefert die Daten des Ringpuffers in Form eines Arrays
28 zurueck, welches dann weiterverarbeitet werden kann.
29 Die Reihenfolge der Daten ist entsprechend des beim Anlegen des
30 Ringpuffers angebenen Modes:
31 MODE_FIFO: aelteste Daten zuerst
32 MODE_LIFO: neueste Daten zuerst
33
34
35BEMERKUNGEN
36===========
37
38 Aenderungen am Array beeinflussen die Daten des Ringpuffers nicht. Aber:
39 Hierbei werden die Daten nicht tief kopiert. D.h. enthaelt der Ringpuffer
40 Referenzen auf weitere Daten, zeigen der Ringpuffer und das hier
41 gelieferte Array auf die gleichen Daten.
42
43
44BEISPIELE
45=========
46
47 // Ringpuffer anlegen:
48 struct std_ringbuffer buffer = CreateRingBuffer(10, MODE_FIFO);
49 // 15 Werte reinschreiben:
50 foreach(int i: 15) RingBufferPut(buffer, i);
51 // Werte abrufen:
52 mixed array=RingBufferGet(buffer);
53 // array enthaelt nun:
54 // ({5,6,7,8,9,10,11,12,13,14})
55
56
57SIEHE AUCH
58==========
59
60 CreateRingBuffer(), RingBufferPut(), ResizeRingBuffer()
MG Mud User88f12472016-06-24 23:31:02 +020061
6223.05.2008, Zesstra