Emu?
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

39 lines
989 B

/* PlipIo.cpp
*
* Standardized functions for dealing with file I/O.
*/
#include <filesystem>
#include "PlipIo.h"
namespace Plip {
bool PlipIo::FileExists(const std::string &path) {
std::ifstream file(path.c_str());
bool success = file.good();
if(success) file.close();
return success;
}
uintmax_t PlipIo::GetSize(const std::string &path) {
namespace fs = std::filesystem;
return fs::file_size(fs::path(path));
}
std::ifstream PlipIo::LoadFile(const std::string &path) {
return std::ifstream(path.c_str());
}
std::vector<char> PlipIo::ReadFile(std::ifstream &file, uintmax_t size) {
std::vector<char> data(size);
file.seekg(std::istream::beg);
file.read(data.data(), data.size());
return data;
}
std::vector<char> PlipIo::ReadFile(const std::string &path, uintmax_t size) {
auto file = LoadFile(path);
return ReadFile(file, size);
}
}