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 branches/2012/dev_r3406_LOCEAN4_XIOS/NEMOGCM/EXTERNAL/XIOS/src – NEMO

source: branches/2012/dev_r3406_LOCEAN4_XIOS/NEMOGCM/EXTERNAL/XIOS/src/buffer.cpp @ 3410

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

importing initial XIOS vendor drop

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
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.