1 #ifndef RAPIDXML_UTILS_HPP_INCLUDED
2 #define RAPIDXML_UTILS_HPP_INCLUDED
20 template<
class Ch =
char>
33 basic_ifstream<Ch> stream(filename, ios::binary);
35 throw runtime_error(
string(
"cannot open file ") + filename);
36 stream.unsetf(ios::skipws);
39 stream.seekg(0, ios::end);
40 size_t size = stream.tellg();
45 stream.read(&
m_data.front(),
static_cast<streamsize
>(
size));
51 file(std::basic_istream<Ch> &stream)
56 stream.unsetf(ios::skipws);
57 m_data.assign(istreambuf_iterator<Ch>(stream), istreambuf_iterator<Ch>());
58 if (stream.fail() || stream.bad())
59 throw runtime_error(
"error reading stream");
96 std::size_t count = 0;
111 std::size_t count = 0;