PhoenixMock  1.8.7
Tools to split/merge/print mock used in Phoenix
data_stream_size.h
Go to the documentation of this file.
1 /***************************************
2  Auteur : Pierre Aubert
3  Mail : pierre.aubert@lapp.in2p3.fr
4  Licence : CeCILL-C
5 ****************************************/
6 
7 #ifndef __DATA_STREAM_SIZE_H__
8 #define __DATA_STREAM_SIZE_H__
9 
10 #include "data_stream_include.h"
11 
13 template<typename T>
14 struct DataStream<size_t, DataStreamMode::WRITE, std::vector<T> >{
16 
20  static bool data_stream(size_t & ds, std::vector<T> & data){
21  ds += sizeof(size_t);
22  for(typename std::vector<T>::iterator it(data.begin()); it != data.end(); ++it){
24  }
25  return true;
26  }
27 };
28 
30 template<typename T>
31 struct DataStream<size_t, DataStreamMode::WRITE, std::list<T> >{
33 
37  static bool data_stream(size_t & ds, std::list<T> & data){
38  ds += sizeof(size_t);
39  for(typename std::list<T>::iterator it(data.begin()); it != data.end(); ++it){
41  }
42  return true;
43  }
44 };
45 
47 template<typename T, typename U>
48 struct DataStream<size_t, DataStreamMode::WRITE, std::map<T, U> >{
50 
54  static bool data_stream(size_t & ds, std::map<T, U> & data){
55  ds += sizeof(size_t);
56  for(typename std::map<T, U>::iterator it(data.begin()); it != data.end(); ++it){
59  }
60  return true;
61  }
62 };
63 
65 template<typename T, typename U>
66 struct DataStream<size_t, DataStreamMode::WRITE, std::pair<T, U> >{
68 
72  static bool data_stream(size_t & ds, std::pair<T, U> & data){
75  return true;
76  }
77 };
78 
80 template<>
81 struct DataStream<size_t, DataStreamMode::WRITE, bool>{
82  static bool data_stream(size_t & ds, bool & data);
83  static bool data_stream(size_t & ds, bool * data, size_t nbElement);
84 };
85 
87 template<>
88 struct DataStream<size_t, DataStreamMode::WRITE, char>{
89  static bool data_stream(size_t & ds, char & data);
90  static bool data_stream(size_t & ds, char * data, size_t nbElement);
91 };
92 
94 template<>
95 struct DataStream<size_t, DataStreamMode::WRITE, short>{
96  static bool data_stream(size_t & ds, short & data);
97  static bool data_stream(size_t & ds, short * data, size_t nbElement);
98 };
99 
101 template<>
102 struct DataStream<size_t, DataStreamMode::WRITE, int>{
103  static bool data_stream(size_t & ds, int & data);
104  static bool data_stream(size_t & ds, int * data, size_t nbElement);
105 };
106 
108 template<>
109 struct DataStream<size_t, DataStreamMode::WRITE, long int>{
110  static bool data_stream(size_t & ds, long int & data);
111  static bool data_stream(size_t & ds, long int * data, size_t nbElement);
112 };
113 
115 template<>
116 struct DataStream<size_t, DataStreamMode::WRITE, unsigned char>{
117  static bool data_stream(size_t & ds, unsigned char & data);
118  static bool data_stream(size_t & ds, unsigned char * data, size_t nbElement);
119 };
120 
122 template<>
123 struct DataStream<size_t, DataStreamMode::WRITE, unsigned short>{
124  static bool data_stream(size_t & ds, unsigned short & data);
125  static bool data_stream(size_t & ds, unsigned short * data, size_t nbElement);
126 };
127 
129 template<>
130 struct DataStream<size_t, DataStreamMode::WRITE, unsigned int>{
131  static bool data_stream(size_t & ds, unsigned int & data);
132  static bool data_stream(size_t & ds, unsigned int * data, size_t nbElement);
133 };
134 
136 template<>
137 struct DataStream<size_t, DataStreamMode::WRITE, long unsigned int>{
138  static bool data_stream(size_t & ds, long unsigned int & data);
139  static bool data_stream(size_t & ds, long unsigned int * data, size_t nbElement);
140 };
141 
143 template<>
144 struct DataStream<size_t, DataStreamMode::WRITE, float>{
145  static bool data_stream(size_t & ds, float & data);
146  static bool data_stream(size_t & ds, float * data, size_t nbElement);
147 };
148 
150 template<>
151 struct DataStream<size_t, DataStreamMode::WRITE, double>{
152  static bool data_stream(size_t & ds, double & data);
153  static bool data_stream(size_t & ds, double * data, size_t nbElement);
154 };
155 
157 template<>
158 struct DataStream<size_t, DataStreamMode::WRITE, std::string>{
159  static bool data_stream(size_t & ds, std::string & data);
160 };
161 
162 #endif
163 
DataStreamMode::WRITE
@ WRITE
Definition: data_stream_include.h:29
DataStream< size_t, DataStreamMode::WRITE, std::list< T > >::data_stream
static bool data_stream(size_t &ds, std::list< T > &data)
Get the size of a class std::list T.
Definition: data_stream_size.h:37
DataStream< size_t, DataStreamMode::WRITE, std::pair< T, U > >::data_stream
static bool data_stream(size_t &ds, std::pair< T, U > &data)
Get the size of a class std::list T.
Definition: data_stream_size.h:72
DataStream< size_t, DataStreamMode::WRITE, std::map< T, U > >::data_stream
static bool data_stream(size_t &ds, std::map< T, U > &data)
Get the size of a class std::list T.
Definition: data_stream_size.h:54
DataStream::data_stream
static bool data_stream(Stream &ds, T &data)
Definition: data_stream_include.h:28
DataStreamMode
Definition: data_stream_include.h:17
DataStream
Generic DataStream class.
Definition: data_stream_include.h:27
data_stream_include.h