PhoenixPresentation  2.0.0
Set of cmake function to automate presentation generation
template_stream_file_header.cpp
Go to the documentation of this file.
1 
7  return fread((void*)&data, sizeof(SIMPLE_TYPE), 1lu, ds) == 1lu;
8 }
9 
11 
16 bool DataStream<FILE*, DataStreamMode::READ, SIMPLE_TYPE>::data_stream(FILE* & ds, SIMPLE_TYPE * data, size_t nbElement){
17  return fread((void*)data, sizeof(SIMPLE_TYPE), nbElement, ds) == nbElement;
18 }
19 
21 
25 bool DataStream<FILE*, DataStreamMode::READ, std::vector<SIMPLE_TYPE> >::data_stream(FILE* & ds, std::vector<SIMPLE_TYPE> & data){
26  size_t nbElement(data.size());
28  if(nbElement == 0lu || !b){return b;} //If there is no element, quit now
29  data.resize(nbElement);
30  return fread((void*)data.data(), sizeof(SIMPLE_TYPE), nbElement, ds) == nbElement;
31 }
32 
34 
39  return fwrite((const void*)&data, sizeof(SIMPLE_TYPE), 1lu, ds) == 1lu;
40 }
41 
43 
48 bool DataStream<FILE*, DataStreamMode::WRITE, SIMPLE_TYPE>::data_stream(FILE* & ds, SIMPLE_TYPE * data, size_t nbElement){
49  return fwrite((const void*)data, sizeof(SIMPLE_TYPE), nbElement, ds) == nbElement;
50 }
51 
53 
57 bool DataStream<FILE*, DataStreamMode::WRITE, std::vector<SIMPLE_TYPE> >::data_stream(FILE* & ds, std::vector<SIMPLE_TYPE> & data){
58  size_t nbElement(data.size());
60  if(nbElement == 0lu || !b){return b;} //If there is no element, quit now
61  return fwrite((const void*)data.data(), sizeof(SIMPLE_TYPE), nbElement, ds) == nbElement;
62 }
63 
64 
65 
66 
68 
73  char* srcByte = (char*)&data;
74  memcpy(srcByte, ds, sizeof(SIMPLE_TYPE));
75  ds += sizeof(SIMPLE_TYPE);
76  return true;
77 }
78 
80 
86  char* srcByte = (char*)data;
87  memcpy(srcByte, ds, sizeof(SIMPLE_TYPE)*nbElement);
88  ds += sizeof(SIMPLE_TYPE)*nbElement;
89  return true;
90 }
91 
93 
98  const char* srcByte = (const char*)&data;
99  memcpy(ds, srcByte, sizeof(SIMPLE_TYPE));
100  ds += sizeof(SIMPLE_TYPE);
101  return true;
102 }
103 
105 
111  const char* srcByte = (const char*)data;
112  memcpy(ds, srcByte, sizeof(SIMPLE_TYPE)*nbElement);
113  ds += sizeof(SIMPLE_TYPE)*nbElement;
114  return true;
115 }
116 
117 
118 
120 
125  ds += sizeof(SIMPLE_TYPE);
126  return true;
127 }
128 
130 
135 bool DataStream<size_t, DataStreamMode::WRITE, SIMPLE_TYPE>::data_stream(size_t & ds, SIMPLE_TYPE * data, size_t nbElement){
136  ds += sizeof(SIMPLE_TYPE)*nbElement;
137  return true;
138 }
139 
140 
141 
142 
DataStreamType * DataStreamIter
Generic DataStream class.
static bool data_stream(Stream &ds, T &data)
Dummy function to catch if a type is not specialised.