PhoenixInkscape  2.0.0
Generate multiple png files with svg inkscape files
data_file.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_FILE_H__
8 #define __DATA_FILE_H__
9 
10 #include "data_stream.h"
11 
13 
17 template<typename T>
18 bool data_save(FILE* iter, const T & data){
20 }
21 
23 
28 template<typename T>
29 bool data_save(FILE* iter, const T * data, size_t nbElement){
30  return DataStream<FILE*, DataStreamMode::WRITE, T>::data_stream(iter, (T*)data, nbElement);
31 }
32 
34 
38 template<typename T>
39 bool data_load(FILE* iter, T & data){
41 }
42 
44 
49 template<typename T>
50 bool data_load(FILE* iter, T * data, size_t nbElement){
51  return DataStream<FILE*, DataStreamMode::READ, T>::data_stream(iter, data, nbElement);
52 }
53 
55 
59 template<typename T>
60 bool data_save(const std::string & fileName, const T & data){
61  FILE* iter = fopen(fileName.c_str(), "w");
62  if(iter == NULL){
63  return false;
64  }
66  fclose(iter);
67  return b;
68 }
69 
71 
76 template<typename T>
77 bool data_save(const std::string & fileName, const T * data, size_t nbElement){
78  FILE* iter = fopen(fileName.c_str(), "w");
79  if(iter == NULL){
80  return false;
81  }
82  bool b(DataStream<FILE*, DataStreamMode::WRITE, T>::data_stream(iter, (T*)data, nbElement));
83  fclose(iter);
84  return b;
85 }
86 
88 
92 template<typename T>
93 bool data_load(const std::string & fileName, T & data){
94  FILE* iter = fopen(fileName.c_str(), "r");
95  if(iter == NULL){
96  return false;
97  }
99  fclose(iter);
100  return b;
101 }
102 
104 
109 template<typename T>
110 bool data_load(const std::string & fileName, T * data, size_t nbElement){
111  FILE* iter = fopen(fileName.c_str(), "r");
112  if(iter == NULL){
113  return false;
114  }
115  bool b(DataStream<FILE*, DataStreamMode::READ, T>::data_stream(iter, data, nbElement));
116  fclose(iter);
117  return b;
118 }
119 
120 #endif
bool data_load(FILE *iter, T &data)
Load data from a message.
Definition: data_file.h:39
bool data_save(FILE *iter, const T &data)
Save data in a message.
Definition: data_file.h:18
Generic DataStream class.
static bool data_stream(Stream &ds, T &data)
Dummy function to catch if a type is not specialised.