diff options
| author | Rusty Wagner <rusty@vector35.com> | 2017-08-31 21:41:25 -0400 |
|---|---|---|
| committer | Rusty Wagner <rusty@vector35.com> | 2017-08-31 21:41:25 -0400 |
| commit | 7cbb40a71ffb2583862191b7999e436807f9a0e8 (patch) | |
| tree | 25846f8d0e811b16b28291aeaf6359bee51e28c4 /binaryreader.cpp | |
| parent | 980e2f090fb47f7f71a46b03e8c636819f3214ec (diff) | |
| parent | 0b30396eb319e89e4f69d9cbac12fc3d4b453f53 (diff) | |
Merge branch 'dev'
Diffstat (limited to 'binaryreader.cpp')
| -rw-r--r-- | binaryreader.cpp | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/binaryreader.cpp b/binaryreader.cpp index ad4859ff..7538e442 100644 --- a/binaryreader.cpp +++ b/binaryreader.cpp @@ -266,3 +266,40 @@ bool BinaryReader::IsEndOfFile() const { return BNIsEndOfFile(m_stream); } + + +template <typename T> +T BinaryReader::Read() +{ + T value; + Read((char*)&value, sizeof(T)); + return value; +} + +template<typename T> +vector<T> BinaryReader::ReadVector(size_t count) +{ + T* buff = new T[count]; + Read((char*)buff, count * sizeof(T)); + std::vector<T> out(buff, buff + count); + return out; +} + + +string BinaryReader::ReadCString(size_t maxSize) +{ + string result; + try + { + for (size_t i = 0; i < maxSize; i++) + { + char cur = Read8(); + if (cur == 0) + break; + result.push_back(cur); + } + } + catch (ReadException& r) + {;} + return result; +}
\ No newline at end of file |
