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