1515#include " xtensor/xadapt.hpp"
1616#include " xtensor-io.hpp"
1717#include " xfile_array.hpp"
18+ #include " xio_file.hpp"
1819
1920namespace xt
2021{
@@ -24,13 +25,13 @@ namespace xt
2425 // we check that `fclose` can be called on them!
2526 template <typename T, class I >
2627 auto load_bin_imp (I& file, std::string& buffer)
27- -> decltype(fclose( file), void())
28+ -> decltype(file.ftell( ), void())
2829 {
29- fseek (file, 0 , SEEK_END);
30- std::size_t size = ftell (file );
30+ file. fseek (0 , SEEK_END);
31+ std::size_t size = file. ftell ();
3132 buffer.resize (size);
32- rewind (file );
33- fread (&buffer[0 ], 1 , size, file );
33+ file. rewind ();
34+ file. fread (&buffer[0 ], 1 , size);
3435 }
3536
3637 // load_bin "overload" for stream-like objects
@@ -61,10 +62,10 @@ namespace xt
6162 // we check that `fclose` can be called on them!
6263 template <class O >
6364 auto dump_bin_imp (O& file, const char * uncompressed_buffer, std::size_t uncompressed_size)
64- -> decltype(fclose( file), void())
65+ -> decltype(file.ftell( ), void())
6566 {
66- fwrite (uncompressed_buffer, 1 , uncompressed_size, file );
67- fflush (file );
67+ file. fwrite (uncompressed_buffer, 1 , uncompressed_size);
68+ file. fflush ();
6869 }
6970
7071 // dump_bin "overload" for stream-like objects
0 commit comments