blob: 128807f0fe92a0e4f304eb1e5516263c7e177253 [file] [log] [blame]
Zesstra953f9972017-02-18 15:37:36 +01001
2RingBufferGet()
3***************
4
5
6FUNKTION
7========
8
9 protected mixed RingBufferGet(struct std_ringbuffer buf);
10
11
12DEFINIERT IN
13============
14
15 /std/util/ringbuffer.c
16 /sys/util/ringbuffer.h
17
18
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()
62
6323.05.2008, Zesstra