29 File(
const std::string& filename,
const FileMode& mode);
32 size_t read(
void* buffer,
const size_t& len);
33 size_t write(
const void* buffer,
const size_t& len);
35 bool seek(
const size_t& pos);
45 std::string readStringToNull(
const size_t& maxLength = 32767);
47 template <
typename T> T readValue(
bool little_endian =
true);
48 template <
typename T>
bool writeValue(
const T value,
bool little_endian =
true);
54 template<>
bool File::readValue<>(
bool little_endian);
55 template<> uint8_t File::readValue<>(
bool little_endian);
56 template<> int8_t File::readValue<>(
bool little_endian);
57 template<> uint16_t File::readValue<>(
bool little_endian);
58 template<> int16_t File::readValue<>(
bool little_endian);
59 template<> uint32_t File::readValue<>(
bool little_endian);
60 template<> int32_t File::readValue<>(
bool little_endian);
61 template<> uint64_t File::readValue<>(
bool little_endian);
62 template<> int64_t File::readValue<>(
bool little_endian);
64 template<>
float File::readValue<>(
bool little_endian);
65 template<>
double File::readValue<>(
bool little_endian);
67 template<>
bool File::writeValue<>(
const bool value,
bool little_endian);
68 template<>
bool File::writeValue<>(
const uint8_t value,
bool little_endian);
69 template<>
bool File::writeValue<>(
const int8_t value,
bool little_endian);
70 template<>
bool File::writeValue<>(
const uint16_t value,
bool little_endian);
71 template<>
bool File::writeValue<>(
const int16_t value,
bool little_endian);
72 template<>
bool File::writeValue<>(
const uint32_t value,
bool little_endian);
73 template<>
bool File::writeValue<>(
const int32_t value,
bool little_endian);
74 template<>
bool File::writeValue<>(
const uint64_t value,
bool little_endian);
75 template<>
bool File::writeValue<>(
const int64_t value,
bool little_endian);