blob: 445e9f3b910d77d935e053c83c284d54c8ce1777 [file] [log] [blame]
Zesstra18626972017-01-31 10:38:27 +01001RingBufferGet()
2===============
3
4FUNKTION
5--------
6::
7
8 protected mixed RingBufferGet(struct std_ringbuffer buf);
9
10DEFINIERT IN
11------------
12::
13
14 /std/util/ringbuffer.c
15 /sys/util/ringbuffer.h
16
17ARGUMENTE
18---------
19::
20
21 buf - Ringpuffer, welcher ausgeben werden soll
22
23BESCHREIBUNG
24------------
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
34BEMERKUNGEN
35-----------
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
43BEISPIELE
44---------
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
56SIEHE AUCH
57----------
58::
59
60 CreateRingBuffer(), RingBufferPut(), ResizeRingBuffer()
61
6223.05.2008, Zesstra
63