Bufor kołowy. More...
#include <Stream.hpp>
Public Member Functions | |
RingBuffer (uint Capacity) | |
virtual | ~RingBuffer () |
uint | GetSize () |
Zwraca liczbę bajtów w buforze. | |
uint | GetCapacity () |
Zwraca pojemność bufora. | |
bool | IsEmpty () |
Zwraca true, jeśli bufor jest pusty. | |
bool | IsFull () |
Zwraca true, jeśli bufor jest pełny. | |
virtual void | Write (const void *Data, size_t Size) |
Zapisuje dane. | |
virtual size_t | Read (void *Out, size_t MaxLength) |
Odczytuje dane. | |
virtual void | MustRead (void *Out, size_t Length) |
Odczytuje tyle bajtów, ile się zażąda. | |
virtual bool | End () |
Tak samo jak MustRead(), ale sama odczytuje rozmiar przekazanej zmiennej. | |
virtual size_t | Skip (size_t MaxLength) |
Pomija co najwyżej podaną liczbę bajtów (chyba że wcześniej osiągnięto koniec). |
Bufor kołowy.
common::RingBuffer::RingBuffer | ( | uint | Capacity | ) |
virtual common::RingBuffer::~RingBuffer | ( | ) | [virtual] |
virtual bool common::RingBuffer::End | ( | ) | [virtual] |
Tak samo jak MustRead(), ale sama odczytuje rozmiar przekazanej zmiennej.
Zwraca true, jeśli osiągnięto koniec strumienia (W oryginale: zgłasza błąd)
Reimplemented from common::Stream.
uint common::RingBuffer::GetCapacity | ( | ) | [inline] |
Zwraca pojemność bufora.
uint common::RingBuffer::GetSize | ( | ) | [inline] |
Zwraca liczbę bajtów w buforze.
bool common::RingBuffer::IsEmpty | ( | ) | [inline] |
Zwraca true, jeśli bufor jest pusty.
bool common::RingBuffer::IsFull | ( | ) | [inline] |
Zwraca true, jeśli bufor jest pełny.
virtual void common::RingBuffer::MustRead | ( | void * | Data, | |
size_t | Length | |||
) | [virtual] |
Odczytuje tyle bajtów, ile się zażąda.
Jeśli koniec pliku albo jeśli odczytano mniej, zgłasza błąd. (Można ją przeładować, ale nie trzeba - ma swoją wersję oryginalną)
Reimplemented from common::Stream.
virtual size_t common::RingBuffer::Read | ( | void * | Data, | |
size_t | MaxLength | |||
) | [virtual] |
Odczytuje dane.
Jeśli osiągnięto koniec, funkcja nie zwraca błędu, a liczba odczytanych bajtów to 0. (W oryginale: zgłasza błąd)
Size | Liczba bajtów do odczytania |
Reimplemented from common::Stream.
virtual size_t common::RingBuffer::Skip | ( | size_t | MaxLength | ) | [virtual] |
Pomija co najwyżej podaną liczbę bajtów (chyba że wcześniej osiągnięto koniec).
(Można ją przeładować, ale nie trzeba - ma swoją wersję oryginalną)
Reimplemented from common::Stream.
virtual void common::RingBuffer::Write | ( | const void * | Data, | |
size_t | Size | |||
) | [virtual] |