From 0de62768c8afc5ca27576b59d4591ca8dbbd7cee Mon Sep 17 00:00:00 2001 From: Peter LaFosse Date: Sat, 24 Jun 2017 01:33:04 -0400 Subject: Adding settings system apis, and binaryview metadata apis --- binaryreader.cpp | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) (limited to 'binaryreader.cpp') 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 +T BinaryReader::Read() +{ + T value; + Read((char*)&value, sizeof(T)); + return value; +} + +template +vector BinaryReader::ReadVector(size_t count) +{ + T* buff = new T[count]; + Read((char*)buff, count * sizeof(T)); + std::vector 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 -- cgit v1.3.1