25 File(
const std::string& filename,
const FileMode& mode);
28 size_t read(
void* buffer,
const size_t& len);
29 size_t write(
const void* buffer,
const size_t& len);
31 bool seek(
const size_t& pos);
41 std::string readStringToNull(
const size_t& maxLength = 32767);
43 template <
typename T> T readValue(
bool little_endian =
true);
44 template <
typename T>
bool writeValue(
const T value,
bool little_endian =
true);
50 template<>
bool File::readValue<>(
bool little_endian);
51 template<> uint8_t File::readValue<>(
bool little_endian);
52 template<> int8_t File::readValue<>(
bool little_endian);
53 template<> uint16_t File::readValue<>(
bool little_endian);
54 template<> int16_t File::readValue<>(
bool little_endian);
55 template<> uint32_t File::readValue<>(
bool little_endian);
56 template<> int32_t File::readValue<>(
bool little_endian);
57 template<> uint64_t File::readValue<>(
bool little_endian);
58 template<> int64_t File::readValue<>(
bool little_endian);
60 template<>
float File::readValue<>(
bool little_endian);
61 template<>
double File::readValue<>(
bool little_endian);
63 template<>
bool File::writeValue<>(
const bool value,
bool little_endian);
64 template<>
bool File::writeValue<>(
const uint8_t value,
bool little_endian);
65 template<>
bool File::writeValue<>(
const int8_t value,
bool little_endian);
66 template<>
bool File::writeValue<>(
const uint16_t value,
bool little_endian);
67 template<>
bool File::writeValue<>(
const int16_t value,
bool little_endian);
68 template<>
bool File::writeValue<>(
const uint32_t value,
bool little_endian);
69 template<>
bool File::writeValue<>(
const int32_t value,
bool little_endian);
70 template<>
bool File::writeValue<>(
const uint64_t value,
bool little_endian);
71 template<>
bool File::writeValue<>(
const int64_t value,
bool little_endian);