PhoenixDataStream  1.0.0
Framework to save/load/serialize/deserialize data
Loading...
Searching...
No Matches
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
17template<typename T>
18bool data_save(FILE* iter, const T & data){
20}
21
23
28template<typename T>
29bool 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
38template<typename T>
39bool data_load(FILE* iter, T & data){
41}
42
44
49template<typename T>
50bool data_load(FILE* iter, T * data, size_t nbElement){
52}
53
55
59template<typename T>
60bool 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
76template<typename T>
77bool 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
92template<typename T>
93bool 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
109template<typename T>
110bool 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
static bool data_stream(Stream &ds, T &data)
Dummy function to catch if a type is not specialised.