From b7d08fc8f2f9250de3ecefef49a26367e8ad141a Mon Sep 17 00:00:00 2001 From: Kim Kulling Date: Wed, 8 Feb 2023 21:48:55 +0100 Subject: [PATCH] Fix review findings. --- include/assimp/MemoryIOWrapper.h | 61 +++++++++++++++----------------- 1 file changed, 28 insertions(+), 33 deletions(-) diff --git a/include/assimp/MemoryIOWrapper.h b/include/assimp/MemoryIOWrapper.h index d52c4384f..720fd8424 100644 --- a/include/assimp/MemoryIOWrapper.h +++ b/include/assimp/MemoryIOWrapper.h @@ -65,23 +65,21 @@ namespace Assimp { // ---------------------------------------------------------------------------------- class MemoryIOStream : public IOStream { public: - MemoryIOStream (const uint8_t* buff, size_t len, bool own = false) - : buffer (buff) - , length(len) - , pos((size_t)0) - , own(own) { + MemoryIOStream (const uint8_t* buff, size_t len, bool own = false) : + buffer (buff), + length(len), + pos(static_cast(0)), + own(own) { // empty } - ~MemoryIOStream () { + ~MemoryIOStream() override { if(own) { delete[] buffer; } } - // ------------------------------------------------------------------- - // Read from stream - size_t Read(void* pvBuffer, size_t pSize, size_t pCount) { + size_t Read(void* pvBuffer, size_t pSize, size_t pCount) override { ai_assert(nullptr != pvBuffer); ai_assert(0 != pSize); @@ -94,16 +92,12 @@ public: return cnt; } - // ------------------------------------------------------------------- - // Write to stream - size_t Write(const void* /*pvBuffer*/, size_t /*pSize*/,size_t /*pCount*/) { + size_t Write(const void*, size_t, size_t ) override { ai_assert(false); // won't be needed return 0; } - // ------------------------------------------------------------------- - // Seek specific position - aiReturn Seek(size_t pOffset, aiOrigin pOrigin) { + aiReturn Seek(size_t pOffset, aiOrigin pOrigin) override { if (aiOrigin_SET == pOrigin) { if (pOffset > length) { return AI_FAILURE; @@ -123,20 +117,14 @@ public: return AI_SUCCESS; } - // ------------------------------------------------------------------- - // Get current seek position - size_t Tell() const { + size_t Tell() const override { return pos; } - // ------------------------------------------------------------------- - // Get size of file - size_t FileSize() const { + size_t FileSize() const override { return length; } - // ------------------------------------------------------------------- - // Flush file contents void Flush() { ai_assert(false); // won't be needed } @@ -148,19 +136,19 @@ private: }; // --------------------------------------------------------------------------- -/** Dummy IO system to read from a memory buffer */ +/// @brief Dummy IO system to read from a memory buffer. class MemoryIOSystem : public IOSystem { public: - /** Constructor. */ + /// @brief Constructor. MemoryIOSystem(const uint8_t* buff, size_t len, IOSystem* io) : buffer(buff), length(len), existing_io(io) { // empty } - /** Destructor. */ + /// @brief Destructor. ~MemoryIOSystem() = default; // ------------------------------------------------------------------- - /** Tests for the existence of a file at the given path. */ + /// @brief Tests for the existence of a file at the given path. bool Exists(const char* pFile) const override { printf("Exists\n"); if (0 == strncmp( pFile, AI_MEMORYIO_MAGIC_FILENAME, AI_MEMORYIO_MAGIC_FILENAME_LENGTH ) ) { @@ -170,14 +158,14 @@ public: } // ------------------------------------------------------------------- - /** Returns the directory separator. */ + /// @brief Returns the directory separator. char getOsSeparator() const override { return existing_io ? existing_io->getOsSeparator() : '/'; // why not? it doesn't care } // ------------------------------------------------------------------- - /** Open a new file with a given path. */ + /// @brief Open a new file with a given path. IOStream* Open(const char* pFile, const char* pMode = "rb") override { if ( 0 == strncmp( pFile, AI_MEMORYIO_MAGIC_FILENAME, AI_MEMORYIO_MAGIC_FILENAME_LENGTH ) ) { created_streams.emplace_back(new MemoryIOStream(buffer, length)); @@ -187,7 +175,7 @@ public: } // ------------------------------------------------------------------- - /** Closes the given file and releases all resources associated with it. */ + /// @brief Closes the given file and releases all resources associated with it. void Close( IOStream* pFile) override { auto it = std::find(created_streams.begin(), created_streams.end(), pFile); if (it != created_streams.end()) { @@ -199,36 +187,43 @@ public: } // ------------------------------------------------------------------- - /** Compare two paths */ + /// @brief Compare two paths bool ComparePaths(const char* one, const char* second) const override { return existing_io ? existing_io->ComparePaths(one, second) : false; } - + + /// @brief Will push the directory. bool PushDirectory( const std::string &path ) override { return existing_io ? existing_io->PushDirectory(path) : false; } + /// @brief Will return the current directory from the stack top. const std::string &CurrentDirectory() const override { static std::string empty; return existing_io ? existing_io->CurrentDirectory() : empty; } + /// @brief Returns the stack size. size_t StackSize() const override { return existing_io ? existing_io->StackSize() : 0; } + /// @brief Will pop the upper directory. bool PopDirectory() override { return existing_io ? existing_io->PopDirectory() : false; } + /// @brief Will create the directory. bool CreateDirectory( const std::string &path ) override { return existing_io ? existing_io->CreateDirectory(path) : false; } - + + /// @brief Will change the directory. bool ChangeDirectory( const std::string &path ) override { return existing_io ? existing_io->ChangeDirectory(path) : false; } + /// @brief Will delete the file. bool DeleteFile( const std::string &file ) override { return existing_io ? existing_io->DeleteFile(file) : false; }