UFO: Alien Invasion
Loading...
Searching...
No Matches
dbuffer.h
Go to the documentation of this file.
1
4
5#pragma once
6
7#include <sys/types.h>
8#include <vector>
10
11
18
20{
21private:
24 size_t _length;
25 std::vector<char> _data;
26
27public:
28 dbuffer (int reserve = 512);
29 dbuffer (const dbuffer& other);
30 virtual ~dbuffer ();
31
32 /* Append the given byte string to the buffer */
33 void add (const char* , size_t);
34 /* Read the given number of bytes from the start of the buffer */
35 size_t get (char* , size_t) const;
36 /* Read the given number of bytes from the given position */
37 size_t getAt (size_t, char* , size_t) const;
38 /* Remove the given number of bytes from the start of the buffer */
39 size_t remove (size_t);
40 /* Read and remove in one pass */
41 size_t extract (char* , size_t);
42
43 size_t length () const;
44};
45
47
48inline size_t dbuffer::length () const
49{
50 return _length;
51}
size_t length() const
Definition dbuffer.h:48
void add(const char *, size_t)
Definition dbuffer.cpp:42
dbuffer(int reserve=512)
Definition dbuffer.cpp:27
size_t extract(char *, size_t)
Read and delete data from a dbuffer.
Definition dbuffer.cpp:136
std::vector< char > _data
Definition dbuffer.h:25
size_t remove(size_t)
Deletes data from a dbuffer.
Definition dbuffer.cpp:104
size_t getAt(size_t, char *, size_t) const
Read data from a dbuffer.
Definition dbuffer.cpp:86
virtual ~dbuffer()
Definition dbuffer.cpp:38
size_t _length
Definition dbuffer.h:24
size_t get(char *, size_t) const
Read data from a dbuffer.
Definition dbuffer.cpp:61
SharedPtr< dbuffer > dbufferptr
Definition dbuffer.h:46