XIOS  1.0
Xml I/O Server
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Définitions de type Énumérations Valeurs énumérées Amis Macros
buffer.cpp
Aller à la documentation de ce fichier.
1 #include "xios_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 
42  {
43  if (own) delete [] buffer ;
44  }
45 
46 }
47 
48 
49 
void realloc(size_t size)
Definition: buffer.cpp:19
size_t remain(void)
Definition: buffer.cpp:36
size_t size
Definition: buffer.hpp:67
#define xios(arg)
char * read
Definition: buffer.hpp:63
char * write
Definition: buffer.hpp:64
CBuffer(size_t size)
Definition: buffer.cpp:13
size_t count
Definition: buffer.hpp:65
char * buffer
Definition: buffer.hpp:62