#pragma once #include #include namespace BinaryIO { template std::ostream& BinaryWrite(std::ostream& stream, const T& value) { return stream.write(reinterpret_cast(&value), sizeof(T)); } template std::istream& BinaryRead(std::istream& stream, T& value) { if (!stream.good()) printf("bla"); return stream.read(reinterpret_cast(&value), sizeof(T)); } void WriteString(const std::string& stringToWrite, std::ofstream& outstream); std::string ReadString(std::ifstream& instream); std::string ReadString(std::ifstream& instream, size_t size); std::string ReadWString(std::ifstream& instream); inline bool DoesFileExist(const std::string& name) { std::ifstream f(name.c_str()); return f.good(); } }