diff options
| author | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-08-22 07:52:33 +0000 |
|---|---|---|
| committer | Magnus Auvinen <magnus.auvinen@gmail.com> | 2007-08-22 07:52:33 +0000 |
| commit | 8b3c16e6152a527f9aec1a88a9eed74119de7000 (patch) | |
| tree | f0bde5cea15e696e42cade06a3b12ff6b13acc57 /src/engine/ringbuffer.h | |
| parent | 9899666a7ce6679a3b9667ab09f615f4d0769c16 (diff) | |
| download | zcatch-8b3c16e6152a527f9aec1a88a9eed74119de7000.tar.gz zcatch-8b3c16e6152a527f9aec1a88a9eed74119de7000.zip | |
major engine cleanup. dependency on baselib removed. engine is now C code (not ansi tho). some other cruft removed aswell
Diffstat (limited to 'src/engine/ringbuffer.h')
| -rw-r--r-- | src/engine/ringbuffer.h | 84 |
1 files changed, 0 insertions, 84 deletions
diff --git a/src/engine/ringbuffer.h b/src/engine/ringbuffer.h deleted file mode 100644 index 3208efbf..00000000 --- a/src/engine/ringbuffer.h +++ /dev/null @@ -1,84 +0,0 @@ - -// TODO: remove all the allocations from this class -class ring_buffer -{ -public: - struct item - { - item *next; - item *prev; - int size; - unsigned char *data() { return (unsigned char *)(this+1); } - }; - - item *first_item; - item *last_item; - - unsigned buffer_size; - - ring_buffer() - { - first_item = 0; - last_item = 0; - buffer_size = 0; - } - - ~ring_buffer() - { - reset(); - } - - void reset() - { - // clear all - while(first()) - pop_first(); - } - - void *alloc(int size) - { - item *i = (item*)mem_alloc(sizeof(item)+size, 1); - i->size = size; - - i->prev = last_item; - i->next = 0; - if(last_item) - last_item->next = i; - else - first_item = i; - last_item = i; - - buffer_size += size; - return i->data(); - } - - item *first() - { - return first_item; - } - - /* - void *peek_data() - { - if(!first) - return 0; - return (void*)(first+1); - }*/ - - void pop_first() - { - if(first_item) - { - item *next = first_item->next; - buffer_size -= first_item->size; - mem_free(first_item); - first_item = next; - if(first_item) - first_item->prev = 0; - else - last_item = 0; - } - } - - unsigned size() { return buffer_size; } -}; |