diff --git a/source/simple/file.hpp b/source/simple/file.hpp index 4293f1511a2eea92b9db451f205aacfebbeb72f6..0e0bf7521b9d46ca8e8d7e7b1c4789efedca1dde 100644 --- a/source/simple/file.hpp +++ b/source/simple/file.hpp @@ -24,6 +24,7 @@ namespace simple static const string path_delimeters = R"(/\)"s; inline size_type size(stream& file); + inline size_type size(stream&& file); inline void dump(stream& from, char* to, size_type this_much); template<typename Alloc = dfltAlloc> @@ -142,10 +143,16 @@ namespace string_stack inline size_type size(stream& file) { auto current = file.tellg(); - file.seekg(0, file.end); - auto size = file.tellg(); + auto ret = size(std::move(file)); file.seekg(current); - return size; + return ret; + } + + inline size_type size(stream&& file) + { + file.seekg(0, file.end); + auto ret = file.tellg(); + return ret; } inline void dump(stream& from, char* to, size_type this_much)