15 std::string
readFile(
const std::string &path, std::string::size_type maxSize)
18 file.exceptions(ios_base::failbit | ios_base::badbit);
19 file.open(path, ios_base::in | ios_base::binary);
20 file.seekg(0, ios_base::end);
22 const auto size = static_cast<string::size_type>(file.tellg());
23 if (maxSize != string::npos && size > maxSize) {
24 throw ios_base::failure(
"File exceeds max size");
27 file.seekg(ios_base::beg);
28 res.assign((istreambuf_iterator<char>(file)), istreambuf_iterator<char>());