source:
vendors/XIOS/current/src/buffer.cpp
@
4990
Last change on this file since 4990 was 3428, checked in by rblod, 12 years ago | |
---|---|
File size: 784 bytes |
Rev | Line | |
---|---|---|
[3428] | 1 | #include "xmlioserver_spl.hpp" |
2 | #include "buffer.hpp" | |
3 | ||
4 | ||
5 | namespace xios | |
6 | { | |
7 | CBuffer::CBuffer(void* buffer_,size_t size_) | |
8 | { | |
9 | own=false ; | |
10 | realloc(buffer_,size_) ; | |
11 | } | |
12 | ||
13 | CBuffer::CBuffer(size_t size_) | |
14 | { | |
15 | own=false ; | |
16 | realloc(size_) ; | |
17 | } | |
18 | ||
19 | void CBuffer::realloc(size_t size_) | |
20 | { | |
21 | realloc(new char[size_],size_) ; | |
22 | own=true ; | |
23 | } | |
24 | ||
25 | void CBuffer::realloc(void* buffer_,size_t size_) | |
26 | { | |
27 | if (own) delete [] buffer ; | |
28 | buffer=(char*)buffer_ ; | |
29 | size=size_ ; | |
30 | count=0 ; | |
31 | read=buffer ; | |
32 | write=buffer ; | |
33 | own=false ; | |
34 | } | |
35 | ||
36 | size_t CBuffer::remain(void) | |
37 | { | |
38 | return size-count ; | |
39 | } | |
40 | ||
41 | CBuffer::~CBuffer() | |
42 | { | |
43 | if (own) delete [] buffer ; | |
44 | } | |
45 | ||
46 | } | |
47 | ||
48 | ||
49 |
Note: See TracBrowser
for help on using the repository browser.