source: XIOS/trunk/src/buffer_out.hpp @ 470

Last change on this file since 470 was 352, checked in by ymipsl, 12 years ago
File size: 1.1 KB
Line 
1#ifndef __BUFFER_OUT_HPP__
2#define __BUFFER_OUT_HPP__
3
4
5#include "xmlioserver_spl.hpp"
6
7namespace xios
8{
9 
10    class CBufferOut
11    {
12   
13      public:
14     
15      CBufferOut(size_t size) ;
16      CBufferOut(void) ;
17      CBufferOut(void* buffer,size_t size) ;
18
19      void realloc(size_t size) ;
20      void realloc(void* buffer,size_t size) ;
21     
22      template<class T>
23      bool put(const T& data) ;
24
25      template<class T>
26      bool put(const T* data, size_t n) ;
27
28   
29      template<class T>
30      bool advance(size_t n) ;
31
32      bool advance(size_t n) ;
33     
34       
35 
36      template<class T>
37      bool put_template(const T& data) ;
38
39      template<class T>
40      bool put_template(const T* data, size_t n) ;
41
42      template<class T>
43      bool advance_template(size_t n) ;
44     
45      void* ptr(void) ;
46           
47      size_t remain(void) ;
48      size_t count(void) ;
49      size_t size(void) ;
50                           
51      ~CBufferOut() ;
52       char* begin ;
53       char* current ;
54       char* end;
55       size_t count_ ;
56       size_t size_ ;
57       bool own ; 
58    } ;
59   
60
61}
62
63//#include "buffer_out_impl.hpp"
64
65
66#endif
Note: See TracBrowser for help on using the repository browser.