2 #ifndef vsl_quick_file_h_ 3 #define vsl_quick_file_h_ 21 # include <vcl_msvc_warnings.h> 29 const std::string& path,
30 std::ostream* errorStream = &std::cerr)
45 *errorStream <<
"Successfully loaded: " << path <<
'\n';
52 *errorStream <<
"Unable to load: "<< path <<
'\n';
60 const std::string& path,
61 std::ostream* errorStream = &std::cerr)
71 *errorStream <<
"Successfully saved: "<< path <<
'\n';
77 *errorStream <<
"Unable to save: " << path <<
'\n';
82 template <
class T,
class S>
85 const std::string& path,
86 std::ostream* errorStream = &std::cerr)
103 *errorStream <<
"Successfully loaded: " << path <<
'\n';
111 *errorStream <<
"Unable to load: "<< path <<
'\n';
116 template <
class T,
class S>
119 const std::string& path,
120 std::ostream* errorStream = &std::cerr)
131 *errorStream <<
"Successfully saved: "<< path <<
'\n';
137 *errorStream <<
"Unable to save: " << path <<
'\n';
142 template <
class T,
class S,
class U>
145 const std::string& path,
146 std::ostream* errorStream = &std::cerr)
163 *errorStream <<
"Successfully loaded: " << path <<
'\n';
170 *errorStream <<
"Unable to load: "<< path <<
'\n';
175 template <
class T,
class S,
class U>
177 const S &data2,
const U &data3,
178 const std::string& path,
179 std::ostream* errorStream = &std::cerr)
191 *errorStream <<
"Successfully saved: "<< path <<
'\n';
197 *errorStream <<
"Unable to save: " << path <<
'\n';
202 template <
class T,
class S,
class U,
class V>
204 S &data2, U &data3, V &data4,
205 const std::string& path,
206 std::ostream* errorStream = &std::cerr)
224 *errorStream <<
"Successfully loaded: " << path <<
'\n';
231 *errorStream <<
"Unable to load: "<< path <<
'\n';
236 template <
class T,
class S,
class U,
class V>
238 const U &data3,
const V &data4,
239 const std::string& path,
240 std::ostream* errorStream = &std::cerr)
253 *errorStream <<
"Successfully saved: "<< path <<
'\n';
259 *errorStream <<
"Unable to save: " << path <<
'\n';
264 template <
class T,
class S,
class U,
class V,
class W>
266 S &data2, U &data3, V &data4, W &data5,
267 const std::string& path,
268 std::ostream* errorStream = &std::cerr)
287 *errorStream <<
"Successfully loaded: " << path <<
'\n';
294 *errorStream <<
"Unable to load: "<< path <<
'\n';
299 template <
class T,
class S,
class U,
class V,
class W>
301 const V &data4,
const W &data5,
302 const std::string& path,
303 std::ostream* errorStream = &std::cerr)
317 *errorStream <<
"Successfully saved: "<< path <<
'\n';
323 *errorStream <<
"Unable to save: " << path <<
'\n';
329 template <
class T,
class S,
class U,
class V,
class W,
class X>
331 V &data4, W &data5, X &data6,
332 const std::string& path,
333 std::ostream* errorStream = &std::cerr)
353 *errorStream <<
"Successfully loaded: " << path <<
'\n';
360 *errorStream <<
"Unable to load: "<< path <<
'\n';
365 template <
class T,
class S,
class U,
class V,
class W,
class X>
367 const V &data4,
const W &data5,
const X &data6,
368 const std::string& path,
369 std::ostream* errorStream = &std::cerr)
384 *errorStream <<
"Successfully saved: "<< path <<
'\n';
390 *errorStream <<
"Unable to save: " << path <<
'\n';
393 #endif // vsl_quick_file_h_ An adapter for a std::ifstream to make it suitable for binary IO.
void vsl_b_write(vsl_b_ostream &os, char n)
Write char to vsl_b_ostream.
bool vsl_quick_file_save(const T &data, const std::string &path, std::ostream *errorStream=&std::cerr)
Save something to a file.
std::istream & is() const
A reference to the adaptor's stream.
void close()
Close the stream.
void vsl_b_read(vsl_b_istream &is, char &n)
Read char from vsl_b_istream.
bool vsl_quick_file_load(T &data, const std::string &path, std::ostream *errorStream=&std::cerr)
Load something from a file.
An adapter for a std::ofstream to make it suitable for binary IO.
Set of functions, and objects to perform binary IO.
void close()
Close the stream.