New URL for NEMO forge!   http://forge.nemo-ocean.eu

Since March 2022 along with NEMO 4.2 release, the code development moved to a self-hosted GitLab.
This present forge is now archived and remained online for history.
buffer.cpp in vendors/XIOS/current/src – NEMO

source: vendors/XIOS/current/src/buffer.cpp @ 3428

Last change on this file since 3428 was 3428, checked in by rblod, 12 years ago

importing initial XIOS vendor drop

File size: 784 bytes
Line 
1#include "xmlioserver_spl.hpp"
2#include "buffer.hpp"
3
4
5namespace 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.