g4tools  5.4.0
iwbuf
Go to the documentation of this file.
1 // Copyright (C) 2010, Guy Barrand. All rights reserved.
2 // See the file tools.license for terms.
3 
4 #ifndef tools_io_iwbuf
5 #define tools_io_iwbuf
6 
7 #include "../typedefs"
8 
9 #include <vector>
10 #include <string>
11 
12 namespace tools {
13 namespace io {
14 
15 class iwbuf {
16 public:
17  virtual ~iwbuf() {}
18 public:
19  virtual bool write(uchar) = 0;
20  virtual bool write(char) = 0;
21  virtual bool write(uint16) = 0;
22  virtual bool write(int16) = 0;
23  virtual bool write(uint32) = 0;
24  virtual bool write(int32) = 0;
25  virtual bool write(uint64) = 0;
26  virtual bool write(int64) = 0;
27  virtual bool write(float) = 0;
28  virtual bool write(double) = 0;
29  virtual bool write(bool) = 0;
30 
31  virtual bool write_vec(uint32,const uchar*) = 0;
32  virtual bool write_vec(uint32,const char*) = 0;
33  virtual bool write_vec(uint32,const uint16*) = 0;
34  virtual bool write_vec(uint32,const int16*) = 0;
35  virtual bool write_vec(uint32,const uint32*) = 0;
36  virtual bool write_vec(uint32,const int32*) = 0;
37  virtual bool write_vec(uint32,const uint64*) = 0;
38  virtual bool write_vec(uint32,const int64*) = 0;
39  virtual bool write_vec(uint32,const float*) = 0;
40  virtual bool write_vec(uint32,const double*) = 0;
41  virtual bool write_vec(uint32,const bool*) = 0;
42 
43  virtual bool write_vec(const std::vector<std::string>&) = 0;
44 
45  virtual bool write_cstr(const char* a_cstr) = 0;
46 
47  virtual bool write_img(uint32,uint32,uint32,const uchar*) = 0;
48 
49  typedef std::vector< std::vector<unsigned int> > std_vec_vec_uint_t;
50  virtual bool write_std_vec_vec(const std_vec_vec_uint_t&) = 0;
51 
52  typedef std::vector< std::vector<float> > std_vec_vec_float_t;
53  virtual bool write_std_vec_vec(const std_vec_vec_float_t&) = 0;
54 
55  typedef std::vector< std::vector<double> > std_vec_vec_double_t;
56  virtual bool write_std_vec_vec(const std_vec_vec_double_t&) = 0;
57 
58  typedef std::vector< std::vector<std::string> > std_vec_vec_string_t;
59  virtual bool write_std_vec_vec(const std_vec_vec_string_t&) = 0;
60 public:
61  virtual const char* buf() const = 0;
62  virtual size_t length() const = 0;
63 };
64 
65 }}
66 
67 #endif
tools::io::iwbuf::write_vec
virtual bool write_vec(uint32, const float *)=0
tools::io::iwbuf::write
virtual bool write(int16)=0
tools::io::iwbuf::write
virtual bool write(bool)=0
tools::uint64
unsigned long long uint64
Definition: typedefs:72
tools::int64
long long int64
Definition: typedefs:67
tools::io::iwbuf::std_vec_vec_uint_t
std::vector< std::vector< unsigned int > > std_vec_vec_uint_t
Definition: iwbuf:49
tools::io::iwbuf::buf
virtual const char * buf() const =0
tools::io::iwbuf::write_vec
virtual bool write_vec(uint32, const char *)=0
tools::io::iwbuf::write_std_vec_vec
virtual bool write_std_vec_vec(const std_vec_vec_float_t &)=0
tools::io::iwbuf::write_vec
virtual bool write_vec(uint32, const int32 *)=0
tools::io::iwbuf::write
virtual bool write(int32)=0
tools::io::iwbuf::write_vec
virtual bool write_vec(uint32, const uint64 *)=0
tools::io::iwbuf::std_vec_vec_double_t
std::vector< std::vector< double > > std_vec_vec_double_t
Definition: iwbuf:55
tools::io::iwbuf::write_vec
virtual bool write_vec(uint32, const double *)=0
tools::io::iwbuf::write
virtual bool write(float)=0
tools::io::iwbuf::write_cstr
virtual bool write_cstr(const char *a_cstr)=0
tools::io::iwbuf::write
virtual bool write(char)=0
tools::uchar
unsigned char uchar
Definition: typedefs:99
tools::int32
int int32
Definition: typedefs:66
tools::io::iwbuf::write_vec
virtual bool write_vec(uint32, const uchar *)=0
tools::io::iwbuf::write_std_vec_vec
virtual bool write_std_vec_vec(const std_vec_vec_uint_t &)=0
tools::io::iwbuf::write_vec
virtual bool write_vec(uint32, const bool *)=0
tools::io::iwbuf::write
virtual bool write(uchar)=0
tools::io::iwbuf::write
virtual bool write(int64)=0
tools::io::iwbuf::write_vec
virtual bool write_vec(uint32, const int16 *)=0
tools::io::iwbuf::write_vec
virtual bool write_vec(uint32, const int64 *)=0
tools
inlined C code : ///////////////////////////////////
Definition: aida_ntuple:26
tools::io::iwbuf::write_std_vec_vec
virtual bool write_std_vec_vec(const std_vec_vec_double_t &)=0
tools::io::iwbuf::write_img
virtual bool write_img(uint32, uint32, uint32, const uchar *)=0
tools::io::iwbuf::write
virtual bool write(double)=0
tools::io::iwbuf::write_vec
virtual bool write_vec(uint32, const uint32 *)=0
tools::uint16
unsigned short uint16
Definition: typedefs:102
tools::io::iwbuf::std_vec_vec_string_t
std::vector< std::vector< std::string > > std_vec_vec_string_t
Definition: iwbuf:58
tools::io::iwbuf::write_std_vec_vec
virtual bool write_std_vec_vec(const std_vec_vec_string_t &)=0
tools::io::iwbuf::std_vec_vec_float_t
std::vector< std::vector< float > > std_vec_vec_float_t
Definition: iwbuf:52
tools::io::iwbuf::write
virtual bool write(uint64)=0
tools::io::iwbuf::write
virtual bool write(uint32)=0
tools::io::iwbuf
Definition: iwbuf:15
tools::io::iwbuf::write_vec
virtual bool write_vec(const std::vector< std::string > &)=0
tools::io::iwbuf::~iwbuf
virtual ~iwbuf()
Definition: iwbuf:17
tools::io::iwbuf::write
virtual bool write(uint16)=0
tools::io::iwbuf::length
virtual size_t length() const =0
tools::uint32
unsigned int uint32
Definition: typedefs:71
tools::io::iwbuf::write_vec
virtual bool write_vec(uint32, const uint16 *)=0
tools::int16
short int16
Definition: typedefs:100