UFO: Alien Invasion
Toggle main menu visibility
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>
9
#include "
../shared/sharedptr.h
"
10
11
18
19
class
dbuffer
20
{
21
private
:
24
size_t
_length
;
25
std::vector<char>
_data
;
26
27
public
:
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
46
typedef
SharedPtr<dbuffer>
dbufferptr
;
47
48
inline
size_t
dbuffer::length
()
const
49
{
50
return
_length
;
51
}
SharedPtr
Definition
sharedptr.h:95
dbuffer::length
size_t length() const
Definition
dbuffer.h:48
dbuffer::add
void add(const char *, size_t)
Definition
dbuffer.cpp:42
dbuffer::dbuffer
dbuffer(int reserve=512)
Definition
dbuffer.cpp:27
dbuffer::extract
size_t extract(char *, size_t)
Read and delete data from a dbuffer.
Definition
dbuffer.cpp:136
dbuffer::_data
std::vector< char > _data
Definition
dbuffer.h:25
dbuffer::remove
size_t remove(size_t)
Deletes data from a dbuffer.
Definition
dbuffer.cpp:104
dbuffer::getAt
size_t getAt(size_t, char *, size_t) const
Read data from a dbuffer.
Definition
dbuffer.cpp:86
dbuffer::~dbuffer
virtual ~dbuffer()
Definition
dbuffer.cpp:38
dbuffer::_length
size_t _length
Definition
dbuffer.h:24
dbuffer::get
size_t get(char *, size_t) const
Read data from a dbuffer.
Definition
dbuffer.cpp:61
dbufferptr
SharedPtr< dbuffer > dbufferptr
Definition
dbuffer.h:46
sharedptr.h
src
common
dbuffer.h
Generated on __DATE__ __TIME__ for UFO: Alien Invasion by
1.17.0