Compare commits
3 commits
76210e147a
...
955ec010b8
Author | SHA1 | Date | |
---|---|---|---|
955ec010b8 | |||
7cb9ea28b2 | |||
975f471a68 |
3 changed files with 12 additions and 1 deletions
|
@ -45,6 +45,10 @@ auto BinaryReader::position() -> Long {
|
|||
return _ftelli64(_file);
|
||||
}
|
||||
|
||||
auto BinaryReader::seek(Long position) -> bool {
|
||||
return _fseeki64(_file, position, SEEK_SET) == 0;
|
||||
}
|
||||
|
||||
void BinaryReader::closeFile() {
|
||||
std::fclose(_file);
|
||||
_file = nullptr;
|
||||
|
|
|
@ -36,6 +36,8 @@ class BinaryReader {
|
|||
auto eof() -> bool;
|
||||
auto position() -> Long;
|
||||
|
||||
auto seek(Long position) -> bool;
|
||||
|
||||
void closeFile();
|
||||
|
||||
auto readChar(char& value) -> bool;
|
||||
|
@ -51,6 +53,11 @@ class BinaryReader {
|
|||
auto readDouble(Double& value) -> bool;
|
||||
auto readArray(Containers::Array<char>& array, std::size_t count) -> bool;
|
||||
|
||||
template<typename T>
|
||||
auto readValue(T& value) -> bool {
|
||||
return fread(&value, sizeof(T), 1, _file) == sizeof(T);
|
||||
}
|
||||
|
||||
template<std::size_t S>
|
||||
auto readStaticArray(Containers::StaticArray<S, char>& array) -> bool {
|
||||
return std::fread(array.data(), sizeof(char), S, _file) == S;
|
||||
|
|
|
@ -40,7 +40,7 @@ struct Crc32 {
|
|||
};
|
||||
|
||||
const Containers::StaticArray<256, UnsignedInt> Crc32::table = []{
|
||||
UnsignedInt polynomial = 0xEDB88320;
|
||||
UnsignedInt polynomial = 0xEDB88320u;
|
||||
Containers::StaticArray<256, UnsignedInt> temp{ValueInit};
|
||||
|
||||
for(UnsignedInt i = 0; i < 256; i++) {
|
||||
|
|
Loading…
Reference in a new issue