diff --git a/deps/ox/src/ox/fs/filestore.hpp b/deps/ox/src/ox/fs/filestore.hpp index f6fc5f2d..e843988a 100644 --- a/deps/ox/src/ox/fs/filestore.hpp +++ b/deps/ox/src/ox/fs/filestore.hpp @@ -709,7 +709,7 @@ int FileStore<Header>::read(Inode *inode, typename Header::FsSize_t readStart, // do byte-by-byte copy to ensure alignment is right when copying to // final destination T val; - for (size_t i = 0; i < sizeof(T); i++) { + for (std::size_t i = 0; i < sizeof(T); i++) { ((uint8_t*) (&val))[i] = *(it++); } *(data++) = val; diff --git a/deps/ox/src/ox/fs/filestore/ptr.hpp b/deps/ox/src/ox/fs/filestore/ptr.hpp index 7dbe3748..0169b6b7 100644 --- a/deps/ox/src/ox/fs/filestore/ptr.hpp +++ b/deps/ox/src/ox/fs/filestore/ptr.hpp @@ -38,16 +38,24 @@ class Ptr { inline size_t end(); - inline T *get() const; + inline const T *get() const; - inline T *operator->() const; + inline T *get(); - inline operator T*() const; + inline const T *operator->() const; + + inline T *operator->(); + + inline operator const T*() const; + + inline operator T*(); + + inline const T &operator*() const; + + inline T &operator*(); inline operator size_t() const; - inline T &operator*() const; - template<typename SubT> inline Ptr<SubT, size_t, sizeof(T)> subPtr(size_t offset, size_t size); @@ -95,24 +103,57 @@ inline size_t Ptr<T, size_t, minOffset>::end() { } template<typename T, typename size_t, size_t minOffset> -inline T *Ptr<T, size_t, minOffset>::get() const { +inline const T *Ptr<T, size_t, minOffset>::get() const { oxAssert(m_validated, "Unvalidated pointer access. (ox::fs::Ptr::get())"); oxAssert(valid(), "Invalid pointer access. (ox::fs::Ptr::get())"); return reinterpret_cast<T*>(m_dataStart + m_itemOffset); } template<typename T, typename size_t, size_t minOffset> -inline T *Ptr<T, size_t, minOffset>::operator->() const { +inline T *Ptr<T, size_t, minOffset>::get() { + oxAssert(m_validated, "Unvalidated pointer access. (ox::fs::Ptr::get())"); + oxAssert(valid(), "Invalid pointer access. (ox::fs::Ptr::get())"); + return reinterpret_cast<T*>(m_dataStart + m_itemOffset); +} + +template<typename T, typename size_t, size_t minOffset> +inline const T *Ptr<T, size_t, minOffset>::operator->() const { oxAssert(m_validated, "Unvalidated pointer access. (ox::fs::Ptr::operator->())"); oxAssert(valid(), "Invalid pointer access. (ox::fs::Ptr::operator->())"); return reinterpret_cast<T*>(m_dataStart + m_itemOffset); } template<typename T, typename size_t, size_t minOffset> -inline Ptr<T, size_t, minOffset>::operator T*() const { +inline T *Ptr<T, size_t, minOffset>::operator->() { + oxAssert(m_validated, "Unvalidated pointer access. (ox::fs::Ptr::operator->())"); + oxAssert(valid(), "Invalid pointer access. (ox::fs::Ptr::operator->())"); return reinterpret_cast<T*>(m_dataStart + m_itemOffset); } +template<typename T, typename size_t, size_t minOffset> +inline Ptr<T, size_t, minOffset>::operator const T*() const { + return reinterpret_cast<T*>(m_dataStart + m_itemOffset); +} + +template<typename T, typename size_t, size_t minOffset> +inline Ptr<T, size_t, minOffset>::operator T*() { + return reinterpret_cast<T*>(m_dataStart + m_itemOffset); +} + +template<typename T, typename size_t, size_t minOffset> +inline const T &Ptr<T, size_t, minOffset>::operator*() const { + oxAssert(m_validated, "Unvalidated pointer dereference. (ox::fs::Ptr::operator*())"); + oxAssert(valid(), "Invalid pointer dereference. (ox::fs::Ptr::operator*())"); + return *reinterpret_cast<T*>(this); +} + +template<typename T, typename size_t, size_t minOffset> +inline T &Ptr<T, size_t, minOffset>::operator*() { + oxAssert(m_validated, "Unvalidated pointer dereference. (ox::fs::Ptr::operator*())"); + oxAssert(valid(), "Invalid pointer dereference. (ox::fs::Ptr::operator*())"); + return *reinterpret_cast<T*>(this); +} + template<typename T, typename size_t, size_t minOffset> inline Ptr<T, size_t, minOffset>::operator size_t() const { if (m_dataStart and m_itemOffset) { @@ -121,13 +162,6 @@ inline Ptr<T, size_t, minOffset>::operator size_t() const { return 0; } -template<typename T, typename size_t, size_t minOffset> -inline T &Ptr<T, size_t, minOffset>::operator*() const { - oxAssert(m_validated, "Unvalidated pointer dereference. (ox::fs::Ptr::operator*())"); - oxAssert(valid(), "Invalid pointer dereference. (ox::fs::Ptr::operator*())"); - return *reinterpret_cast<T*>(this); -} - template<typename T, typename size_t, size_t minOffset> template<typename SubT> inline Ptr<SubT, size_t, sizeof(T)> Ptr<T, size_t, minOffset>::subPtr(size_t offset, size_t size) { diff --git a/deps/ox/src/ox/fs/filesystem/directory.hpp b/deps/ox/src/ox/fs/filesystem/directory.hpp index 39b0c533..de5ed9ee 100644 --- a/deps/ox/src/ox/fs/filesystem/directory.hpp +++ b/deps/ox/src/ox/fs/filesystem/directory.hpp @@ -86,7 +86,7 @@ struct __attribute__((packed)) Directory { uint64_t getFileInode(const char *name); - int getChildrenInodes(InodeId_t *inodes, size_t inodesLen); + int getChildrenInodes(InodeId_t *inodes, std::size_t inodesLen); int rmFile(const char *name); @@ -123,7 +123,7 @@ uint64_t Directory<InodeId_t, FsSize_t>::getFileInode(const char *name) { } template<typename InodeId_t, typename FsSize_t> -int Directory<InodeId_t, FsSize_t>::getChildrenInodes(InodeId_t *inodes, size_t inodesLen) { +int Directory<InodeId_t, FsSize_t>::getChildrenInodes(InodeId_t *inodes, std::size_t inodesLen) { if (inodesLen >= this->children) { auto current = files(); if (current) { @@ -205,4 +205,4 @@ int Directory<InodeId_t, FsSize_t>::ls(List *list) { } } -} \ No newline at end of file +} diff --git a/deps/ox/src/ox/fs/filesystem/filesystem.cpp b/deps/ox/src/ox/fs/filesystem/filesystem.cpp index 7bfa672b..d6f6fed9 100644 --- a/deps/ox/src/ox/fs/filesystem/filesystem.cpp +++ b/deps/ox/src/ox/fs/filesystem/filesystem.cpp @@ -14,7 +14,7 @@ template class FileSystemTemplate<FileStore16, OxFS_16>; template class FileSystemTemplate<FileStore32, OxFS_32>; template class FileSystemTemplate<FileStore64, OxFS_64>; -FileSystem *createFileSystem(uint8_t *buff, size_t buffSize, bool ownsBuff) { +FileSystem *createFileSystem(uint8_t *buff, std::size_t buffSize, bool ownsBuff) { auto version = ((FileStore16*) buff)->version(); auto type = ((FileStore16*) buff)->fsType(); FileSystem *fs = nullptr; @@ -45,7 +45,7 @@ FileSystem *createFileSystem(uint8_t *buff, size_t buffSize, bool ownsBuff) { return fs; } -FileSystem *expandCopy(FileSystem *fs, size_t size) { +FileSystem *expandCopy(FileSystem *fs, std::size_t size) { auto fsBuff = fs->buff(); FileSystem *retval = nullptr; @@ -61,7 +61,7 @@ FileSystem *expandCopy(FileSystem *fs, size_t size) { return retval; } -FileSystem *expandCopyCleanup(FileSystem *fs, size_t size) { +FileSystem *expandCopyCleanup(FileSystem *fs, std::size_t size) { auto out = expandCopy(fs, size); if (!out) { diff --git a/deps/ox/src/ox/fs/filesystem/filesystem.hpp b/deps/ox/src/ox/fs/filesystem/filesystem.hpp index b604867b..85d35e6b 100644 --- a/deps/ox/src/ox/fs/filesystem/filesystem.hpp +++ b/deps/ox/src/ox/fs/filesystem/filesystem.hpp @@ -33,13 +33,13 @@ class FileSystem { template<typename List> int ls(const char *path, List *list); - virtual int read(const char *path, void *buffer, size_t buffSize) = 0; + virtual int read(const char *path, void *buffer, std::size_t buffSize) = 0; - virtual int read(uint64_t inode, void *buffer, size_t size) = 0; + virtual int read(uint64_t inode, void *buffer, std::size_t size) = 0; - virtual int read(uint64_t inode, size_t readStart, size_t readSize, void *buffer, size_t *size) = 0; + virtual int read(uint64_t inode, std::size_t readStart, std::size_t readSize, void *buffer, std::size_t *size) = 0; - virtual uint8_t *read(uint64_t inode, size_t *size) = 0; + virtual uint8_t *read(uint64_t inode, std::size_t *size) = 0; virtual int remove(uint64_t inode, bool recursive = false) = 0; @@ -75,7 +75,7 @@ int FileSystem::ls(const char *path, List *list) { int err = 0; auto s = stat(path); if (s.fileType == FileType_Directory) { - uint8_t dirBuff[max(static_cast<size_t>(s.size), sizeof(Dir)) * 4]; + uint8_t dirBuff[max(static_cast<std::size_t>(s.size), sizeof(Dir)) * 4]; auto dir = (Directory<uint64_t, uint64_t>*) dirBuff; err |= readDirectory(path, dir); if (!err) { @@ -85,7 +85,7 @@ int FileSystem::ls(const char *path, List *list) { return err; } -FileSystem *createFileSystem(uint8_t *buff, size_t buffSize, bool ownsBuff = false); +FileSystem *createFileSystem(uint8_t *buff, std::size_t buffSize, bool ownsBuff = false); /** * Creates a larger version of the given FileSystem. @@ -96,6 +96,6 @@ FileSystem *expandCopy(FileSystem *src); * Calls expandCopy and deletes the original FileSystem and buff a resize was * performed. */ -FileSystem *expandCopyCleanup(FileSystem *fs, size_t size); +FileSystem *expandCopyCleanup(FileSystem *fs, std::size_t size); } diff --git a/deps/ox/src/ox/fs/filesystem/filesystemtemplate.hpp b/deps/ox/src/ox/fs/filesystem/filesystemtemplate.hpp index f7b4bec9..fb6af523 100644 --- a/deps/ox/src/ox/fs/filesystem/filesystemtemplate.hpp +++ b/deps/ox/src/ox/fs/filesystem/filesystemtemplate.hpp @@ -33,13 +33,13 @@ class FileSystemTemplate: public FileSystem { int mkdir(const char *path, bool recursive = false) override; - int read(const char *path, void *buffer, size_t buffSize) override; + int read(const char *path, void *buffer, std::size_t buffSize) override; - int read(uint64_t inode, void *buffer, size_t buffSize) override; + int read(uint64_t inode, void *buffer, std::size_t buffSize) override; - int read(uint64_t inode, size_t readStart, size_t readSize, void *buffer, size_t *size) override; + int read(uint64_t inode, std::size_t readStart, std::size_t readSize, void *buffer, std::size_t *size) override; - uint8_t *read(uint64_t inode, size_t *size) override; + uint8_t *read(uint64_t inode, std::size_t *size) override; void resize(uint64_t size = 0) override; @@ -201,7 +201,7 @@ FileStat FileSystemTemplate<FileStore, FS_TYPE>::stat(uint64_t inode) { #pragma warning(disable:4244) #endif template<typename FileStore, FsType FS_TYPE> -int FileSystemTemplate<FileStore, FS_TYPE>::read(const char *path, void *buffer, size_t buffSize) { +int FileSystemTemplate<FileStore, FS_TYPE>::read(const char *path, void *buffer, std::size_t buffSize) { int retval = -1; // find the inode for the given path @@ -222,7 +222,7 @@ int FileSystemTemplate<FileStore, FS_TYPE>::read(const char *path, void *buffer, #pragma warning(disable:4244) #endif template<typename FileStore, FsType FS_TYPE> -int FileSystemTemplate<FileStore, FS_TYPE>::read(uint64_t inode, void *buffer, size_t buffSize) { +int FileSystemTemplate<FileStore, FS_TYPE>::read(uint64_t inode, void *buffer, std::size_t buffSize) { auto stat = m_store->stat(inode); if (stat.size <= buffSize) { return m_store->read(inode, buffer, nullptr); @@ -237,9 +237,9 @@ int FileSystemTemplate<FileStore, FS_TYPE>::read(uint64_t inode, void *buffer, s #pragma warning(disable:4244) #endif template<typename FileStore, FsType FS_TYPE> -int FileSystemTemplate<FileStore, FS_TYPE>::read(uint64_t inode, size_t readStart, - size_t readSize, void *buffer, - size_t *size) { +int FileSystemTemplate<FileStore, FS_TYPE>::read(uint64_t inode, std::size_t readStart, + std::size_t readSize, void *buffer, + std::size_t *size) { if (size) { auto stat = m_store->stat(inode); *size = stat.size; @@ -254,7 +254,7 @@ int FileSystemTemplate<FileStore, FS_TYPE>::read(uint64_t inode, size_t readStar #pragma warning(disable:4244) #endif template<typename FileStore, FsType FS_TYPE> -uint8_t *FileSystemTemplate<FileStore, FS_TYPE>::read(uint64_t inode, size_t *size) { +uint8_t *FileSystemTemplate<FileStore, FS_TYPE>::read(uint64_t inode, std::size_t *size) { auto s = m_store->stat(inode); auto buff = new uint8_t[s.size]; if (size) { @@ -329,7 +329,7 @@ int FileSystemTemplate<FileStore, FS_TYPE>::remove(uint64_t inode, bool recursiv template<typename FileStore, FsType FS_TYPE> int FileSystemTemplate<FileStore, FS_TYPE>::write(const char *path, void *buffer, uint64_t size, uint8_t fileType) { int err = 0; - size_t pathLen = ox_strlen(path); + std::size_t pathLen = ox_strlen(path); char dirPath[pathLen]; char fileName[pathLen]; PathIterator pathReader(path, pathLen); @@ -484,7 +484,7 @@ int FileSystemTemplate<FileStore, FS_TYPE>::insertDirectoryEntry(const char *dir auto s = stat(dirPath); if (s.inode) { auto spaceNeeded = DirectoryEntry<typename FileStore::InodeId_t>::spaceNeeded(fileName); - size_t dirBuffSize = s.size + spaceNeeded; + std::size_t dirBuffSize = s.size + spaceNeeded; uint8_t dirBuff[dirBuffSize]; int err = read(s.inode, dirBuff, dirBuffSize); @@ -515,7 +515,7 @@ int FileSystemTemplate<FileStore, FS_TYPE>::move(const char *src, const char *de if (inode && !stat(dest).inode) { int err = 0; - size_t srcLen = ox_strlen(src); + std::size_t srcLen = ox_strlen(src); char srcDirPath[srcLen]; char srcFileName[srcLen]; PathIterator srcPathReader(src, srcLen); @@ -525,7 +525,7 @@ int FileSystemTemplate<FileStore, FS_TYPE>::move(const char *src, const char *de return err; } - size_t destLen = ox_strlen(dest); + std::size_t destLen = ox_strlen(dest); char destDirPath[destLen]; char destFileName[destLen]; PathIterator destPathReader(dest, destLen); @@ -554,7 +554,7 @@ int FileSystemTemplate<FileStore, FS_TYPE>::move(const char *src, const char *de template<typename FileStore, FsType FS_TYPE> int FileSystemTemplate<FileStore, FS_TYPE>::rmDirectoryEntry(const char *path) { int err = 0; - size_t pathLen = ox_strlen(path); + std::size_t pathLen = ox_strlen(path); char dirPath[pathLen]; char fileName[pathLen]; PathIterator pathReader(path, pathLen); @@ -592,7 +592,7 @@ int FileSystemTemplate<FileStore, FS_TYPE>::readDirectory(const char *path, Dire typedef Directory<typename FileStore::InodeId_t, typename FileStore::FsSize_t> Dir; int err = 0; auto dirStat = stat(path); - auto dirBuffLen = ox::max(static_cast<size_t>(dirStat.size), sizeof(Dir)); + auto dirBuffLen = ox::max(static_cast<std::size_t>(dirStat.size), sizeof(Dir)); uint8_t dirBuff[dirBuffLen]; auto dir = (Dir*) dirBuff; diff --git a/deps/ox/src/ox/fs/filesystem/pathiterator.cpp b/deps/ox/src/ox/fs/filesystem/pathiterator.cpp index 438ee10d..06ce55fb 100644 --- a/deps/ox/src/ox/fs/filesystem/pathiterator.cpp +++ b/deps/ox/src/ox/fs/filesystem/pathiterator.cpp @@ -12,7 +12,7 @@ namespace ox { -PathIterator::PathIterator(const char *path, size_t maxSize) { +PathIterator::PathIterator(const char *path, std::size_t maxSize) { m_path = path; m_maxSize = maxSize; } @@ -20,9 +20,9 @@ PathIterator::PathIterator(const char *path, size_t maxSize) { /** * @return 0 if no error */ -int PathIterator::dirPath(char *out, size_t outSize) { +int PathIterator::dirPath(char *out, std::size_t outSize) { int idx = ox_lastIndexOf(m_path, '/', m_maxSize); - size_t size = idx + 1; + std::size_t size = idx + 1; if (idx >= 0 && size < outSize) { ox_memcpy(out, m_path, size); out[size] = 0; @@ -35,11 +35,11 @@ int PathIterator::dirPath(char *out, size_t outSize) { /** * @return 0 if no error */ -int PathIterator::fileName(char *out, size_t outSize) { +int PathIterator::fileName(char *out, std::size_t outSize) { auto idx = ox_lastIndexOf(m_path, '/', m_maxSize); if (idx >= 0) { idx++; // pass up the preceding / - size_t fileNameSize = ox_strlen(&m_path[idx]); + std::size_t fileNameSize = ox_strlen(&m_path[idx]); if (fileNameSize < outSize) { ox_memcpy(out, &m_path[idx], fileNameSize); out[fileNameSize] = 0; @@ -53,22 +53,22 @@ int PathIterator::fileName(char *out, size_t outSize) { } // Gets the next item in the path -int PathIterator::next(char *pathOut, size_t pathOutSize) { - size_t size = 0; +int PathIterator::next(char *pathOut, std::size_t pathOutSize) { + std::size_t size = 0; int retval = 1; if (m_iterator < m_maxSize && ox_strlen(&m_path[m_iterator])) { retval = 0; if (m_path[m_iterator] == '/') { m_iterator++; } - size_t start = m_iterator; + std::size_t start = m_iterator; // end is at the next / const char *substr = ox_strchr(&m_path[start], '/', m_maxSize - start); // correct end if it is invalid, which happens if there is no next / if (!substr) { substr = ox_strchr(&m_path[start], 0, m_maxSize - start); } - size_t end = substr - m_path; + std::size_t end = substr - m_path; size = end - start; // cannot fit the output in the output parameter if (size >= pathOutSize) { @@ -86,9 +86,9 @@ int PathIterator::next(char *pathOut, size_t pathOutSize) { } bool PathIterator::hasNext() { - size_t size = 0; + std::size_t size = 0; if (m_iterator < m_maxSize && ox_strlen(&m_path[m_iterator])) { - size_t start = m_iterator; + std::size_t start = m_iterator; if (m_path[start] == '/') { start++; } @@ -98,7 +98,7 @@ bool PathIterator::hasNext() { if (!substr) { substr = ox_strchr(&m_path[start], 0, m_maxSize - start); } - size_t end = substr - m_path; + std::size_t end = substr - m_path; size = end - start; } return size > 0; diff --git a/deps/ox/src/ox/fs/filesystem/pathiterator.hpp b/deps/ox/src/ox/fs/filesystem/pathiterator.hpp index 2ea8ecd8..f64d3717 100644 --- a/deps/ox/src/ox/fs/filesystem/pathiterator.hpp +++ b/deps/ox/src/ox/fs/filesystem/pathiterator.hpp @@ -15,26 +15,26 @@ namespace ox { class PathIterator { private: const char *m_path = nullptr; - size_t m_iterator = 0; - size_t m_maxSize = 0; + std::size_t m_iterator = 0; + std::size_t m_maxSize = 0; public: - PathIterator(const char *path, size_t maxSize); + PathIterator(const char *path, std::size_t maxSize); /** * @return 0 if no error */ - int dirPath(char *pathOut, size_t pathOutSize); + int dirPath(char *pathOut, std::size_t pathOutSize); /** * @return 0 if no error */ - int fileName(char *out, size_t outSize); + int fileName(char *out, std::size_t outSize); /** * @return 0 if no error */ - int next(char *pathOut, size_t pathOutSize); + int next(char *pathOut, std::size_t pathOutSize); bool hasNext(); }; diff --git a/deps/ox/src/ox/mc/presencemask.cpp b/deps/ox/src/ox/mc/presencemask.cpp index b6aef4e2..006a21b2 100644 --- a/deps/ox/src/ox/mc/presencemask.cpp +++ b/deps/ox/src/ox/mc/presencemask.cpp @@ -12,7 +12,7 @@ namespace ox { -FieldPresenseMask::FieldPresenseMask(uint8_t *mask, size_t maxLen) { +FieldPresenseMask::FieldPresenseMask(uint8_t *mask, std::size_t maxLen) { m_mask = mask; m_maxLen = maxLen; } diff --git a/deps/ox/src/ox/mc/presencemask.hpp b/deps/ox/src/ox/mc/presencemask.hpp index 5e8e1db0..3da1627e 100644 --- a/deps/ox/src/ox/mc/presencemask.hpp +++ b/deps/ox/src/ox/mc/presencemask.hpp @@ -18,7 +18,7 @@ class FieldPresenseMask { int m_maxLen = 0; public: - FieldPresenseMask(uint8_t *mask, size_t maxLen); + FieldPresenseMask(uint8_t *mask, std::size_t maxLen); bool get(int i); diff --git a/deps/ox/src/ox/mc/read.cpp b/deps/ox/src/ox/mc/read.cpp index 230a47a1..4336362a 100644 --- a/deps/ox/src/ox/mc/read.cpp +++ b/deps/ox/src/ox/mc/read.cpp @@ -12,7 +12,7 @@ namespace ox { -MetalClawReader::MetalClawReader(uint8_t *buff, size_t buffLen): m_fieldPresence(buff, buffLen) { +MetalClawReader::MetalClawReader(uint8_t *buff, std::size_t buffLen): m_fieldPresence(buff, buffLen) { m_buff = buff; m_buffLen = buffLen; } @@ -55,8 +55,8 @@ int MetalClawReader::op(const char*, bool *val) { return 0; } -size_t MetalClawReader::arrayLength(const char*) { - size_t len = 0; +std::size_t MetalClawReader::arrayLength(const char*) { + std::size_t len = 0; if (m_fieldPresence.get(m_field)) { // read the length if (m_buffIt + sizeof(ArrayLength) < m_buffLen) { @@ -66,8 +66,8 @@ size_t MetalClawReader::arrayLength(const char*) { return len; } -size_t MetalClawReader::stringLength(const char*) { - size_t len = 0; +std::size_t MetalClawReader::stringLength(const char*) { + std::size_t len = 0; if (m_fieldPresence.get(m_field)) { // read the length if (m_buffIt + sizeof(StringLength) < m_buffLen) { diff --git a/deps/ox/src/ox/mc/read.hpp b/deps/ox/src/ox/mc/read.hpp index 8764b40c..e970e661 100644 --- a/deps/ox/src/ox/mc/read.hpp +++ b/deps/ox/src/ox/mc/read.hpp @@ -25,12 +25,12 @@ class MetalClawReader { FieldPresenseMask m_fieldPresence; int m_fields = 0; int m_field = 0; - size_t m_buffIt = 0; - size_t m_buffLen = 0; + std::size_t m_buffIt = 0; + std::size_t m_buffLen = 0; uint8_t *m_buff = nullptr; public: - MetalClawReader(uint8_t *buff, size_t buffLen); + MetalClawReader(uint8_t *buff, std::size_t buffLen); int op(const char*, int8_t *val); int op(const char*, int16_t *val); @@ -45,18 +45,18 @@ class MetalClawReader { int op(const char*, bool *val); template<typename T> - int op(const char*, T *val, size_t len); + int op(const char*, T *val, std::size_t len); template<typename T> int op(const char*, T *val); - template<size_t L> + template<std::size_t L> int op(const char*, ox::BString<L> *val); - size_t arrayLength(const char*); + std::size_t arrayLength(const char*); // stringLength returns the length of the string, including the null terminator. - size_t stringLength(const char*); + std::size_t stringLength(const char*); void setFields(int fields); @@ -81,12 +81,12 @@ int MetalClawReader::op(const char*, T *val) { return err; }; -template<size_t L> +template<std::size_t L> int MetalClawReader::op(const char*, ox::BString<L> *val) { int err = 0; if (m_fieldPresence.get(m_field)) { // read the length - size_t size = 0; + std::size_t size = 0; if (m_buffIt + sizeof(StringLength) < m_buffLen) { size = *reinterpret_cast<LittleEndian<StringLength>*>(&m_buff[m_buffIt]); m_buffIt += sizeof(StringLength); @@ -130,11 +130,11 @@ int MetalClawReader::readInteger(I *val) { }; template<typename T> -int MetalClawReader::op(const char*, T *val, size_t valLen) { +int MetalClawReader::op(const char*, T *val, std::size_t valLen) { int err = 0; if (m_fieldPresence.get(m_field)) { // read the length - size_t len = 0; + std::size_t len = 0; if (m_buffIt + sizeof(ArrayLength) < m_buffLen) { len = *reinterpret_cast<LittleEndian<ArrayLength>*>(&m_buff[m_buffIt]); m_buffIt += sizeof(ArrayLength); @@ -146,7 +146,7 @@ int MetalClawReader::op(const char*, T *val, size_t valLen) { if (valLen >= len) { MetalClawReader reader(m_buff + m_buffIt, m_buffLen - m_buffIt); reader.setFields(len); - for (size_t i = 0; i < len; i++) { + for (std::size_t i = 0; i < len; i++) { err |= reader.op("", &val[i]); } m_buffIt += reader.m_buffIt; @@ -159,7 +159,7 @@ int MetalClawReader::op(const char*, T *val, size_t valLen) { }; template<typename T> -int readMC(uint8_t *buff, size_t buffLen, T *val) { +int readMC(uint8_t *buff, std::size_t buffLen, T *val) { MetalClawReader reader(buff, buffLen); return ioOp(&reader, val); } diff --git a/deps/ox/src/ox/mc/write.cpp b/deps/ox/src/ox/mc/write.cpp index 6feaf82b..a9858478 100644 --- a/deps/ox/src/ox/mc/write.cpp +++ b/deps/ox/src/ox/mc/write.cpp @@ -12,7 +12,7 @@ namespace ox { -MetalClawWriter::MetalClawWriter(uint8_t *buff, size_t buffLen): m_fieldPresence(buff, buffLen) { +MetalClawWriter::MetalClawWriter(uint8_t *buff, std::size_t buffLen): m_fieldPresence(buff, buffLen) { m_buff = buff; m_buffLen = buffLen; } @@ -60,7 +60,7 @@ void MetalClawWriter::setFields(int fields) { m_fieldPresence.setMaxLen(m_buffIt); } -size_t MetalClawWriter::size() { +std::size_t MetalClawWriter::size() { return m_buffIt; } diff --git a/deps/ox/src/ox/mc/write.hpp b/deps/ox/src/ox/mc/write.hpp index 628d5bf2..9eb81ace 100644 --- a/deps/ox/src/ox/mc/write.hpp +++ b/deps/ox/src/ox/mc/write.hpp @@ -23,12 +23,12 @@ class MetalClawWriter { FieldPresenseMask m_fieldPresence; int m_fields = 0; int m_field = 0; - size_t m_buffIt = 0; - size_t m_buffLen = 0; + std::size_t m_buffIt = 0; + std::size_t m_buffLen = 0; uint8_t *m_buff = nullptr; public: - MetalClawWriter(uint8_t *buff, size_t buffLen); + MetalClawWriter(uint8_t *buff, std::size_t buffLen); int op(const char*, int8_t *val); int op(const char*, int16_t *val); @@ -43,12 +43,12 @@ class MetalClawWriter { int op(const char*, bool *val); template<typename T> - int op(const char*, T *val, size_t len); + int op(const char*, T *val, std::size_t len); - template<size_t L> + template<std::size_t L> int op(const char*, const char *val); - template<size_t L> + template<std::size_t L> int op(const char*, ox::BString<L> *val); template<typename T> @@ -56,7 +56,7 @@ class MetalClawWriter { void setFields(int fields); - size_t size(); + std::size_t size(); OpType opType() { return OpType::Write; @@ -67,7 +67,7 @@ class MetalClawWriter { int appendInteger(I val); }; -template<size_t L> +template<std::size_t L> int MetalClawWriter::op(const char*, ox::BString<L> *val) { int err = 0; bool fieldSet = false; @@ -97,7 +97,7 @@ int MetalClawWriter::op(const char*, T *val) { bool fieldSet = false; MetalClawWriter writer(m_buff + m_buffIt, m_buffLen - m_buffIt); err |= ioOp(&writer, val); - if (static_cast<size_t>(writer.m_fieldPresence.getMaxLen()) < writer.m_buffIt) { + if (static_cast<std::size_t>(writer.m_fieldPresence.getMaxLen()) < writer.m_buffIt) { m_buffIt += writer.m_buffIt; fieldSet = true; } @@ -125,7 +125,7 @@ int MetalClawWriter::appendInteger(I val) { } template<typename T> -int MetalClawWriter::op(const char*, T *val, size_t len) { +int MetalClawWriter::op(const char*, T *val, std::size_t len) { int err = 0; bool fieldSet = false; @@ -143,7 +143,7 @@ int MetalClawWriter::op(const char*, T *val, size_t len) { writer.setFields(len); // write the array - for (size_t i = 0; i < len; i++) { + for (std::size_t i = 0; i < len; i++) { err |= writer.op("", &val[i]); } @@ -157,7 +157,7 @@ int MetalClawWriter::op(const char*, T *val, size_t len) { } template<typename T> -int writeMC(uint8_t *buff, size_t buffLen, T *val, size_t *sizeOut = nullptr) { +int writeMC(uint8_t *buff, std::size_t buffLen, T *val, std::size_t *sizeOut = nullptr) { MetalClawWriter writer(buff, buffLen); auto err = ioOp(&writer, val); if (sizeOut) { diff --git a/deps/ox/src/ox/std/assert.cpp b/deps/ox/src/ox/std/assert.cpp index 388e12a2..668d2dfc 100644 --- a/deps/ox/src/ox/std/assert.cpp +++ b/deps/ox/src/ox/std/assert.cpp @@ -6,6 +6,8 @@ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ +#include <iostream> + #include <ox/__buildinfo/defines.hpp> namespace ox { diff --git a/deps/ox/src/ox/std/memops.cpp b/deps/ox/src/ox/std/memops.cpp index 2f067ee7..e7a17edb 100644 --- a/deps/ox/src/ox/std/memops.cpp +++ b/deps/ox/src/ox/std/memops.cpp @@ -9,11 +9,11 @@ #include "types.hpp" -int ox_memcmp(const void *ptr1, const void *ptr2, size_t size) { +int ox_memcmp(const void *ptr1, const void *ptr2, std::size_t size) noexcept { int retval = 0; auto block1 = reinterpret_cast<const uint8_t*>(ptr1); auto block2 = reinterpret_cast<const uint8_t*>(ptr2); - for (size_t i = 0; i < size; i++) { + for (std::size_t i = 0; i < size; i++) { if (block1[i] < block2[i]) { retval = -1; break; @@ -25,7 +25,7 @@ int ox_memcmp(const void *ptr1, const void *ptr2, size_t size) { return retval; } -void *ox_memcpy(void *dest, const void *src, int64_t size) { +void *ox_memcpy(void *dest, const void *src, int64_t size) noexcept { char *srcBuf = (char*) src; char *dstBuf = (char*) dest; for (int64_t i = 0; i < size; i++) { @@ -34,7 +34,7 @@ void *ox_memcpy(void *dest, const void *src, int64_t size) { return dest; } -void *ox_memset(void *ptr, int val, int64_t size) { +void *ox_memset(void *ptr, int val, int64_t size) noexcept { char *buf = (char*) ptr; for (int64_t i = 0; i < size; i++) { buf[i] = val; diff --git a/deps/ox/src/ox/std/memops.hpp b/deps/ox/src/ox/std/memops.hpp index 21232910..1ad6775f 100644 --- a/deps/ox/src/ox/std/memops.hpp +++ b/deps/ox/src/ox/std/memops.hpp @@ -9,8 +9,8 @@ #include "types.hpp" -int ox_memcmp(const void *ptr1, const void *ptr2, size_t size); +int ox_memcmp(const void *ptr1, const void *ptr2, std::size_t size) noexcept; -void *ox_memcpy(void *dest, const void *src, int64_t size); +void *ox_memcpy(void *dest, const void *src, int64_t size) noexcept; -void *ox_memset(void *ptr, int val, int64_t size); +void *ox_memset(void *ptr, int val, int64_t size) noexcept; diff --git a/deps/ox/src/ox/std/string.hpp b/deps/ox/src/ox/std/string.hpp index ffaa9056..2fbf8448 100644 --- a/deps/ox/src/ox/std/string.hpp +++ b/deps/ox/src/ox/std/string.hpp @@ -15,70 +15,70 @@ namespace ox { // Bounded String -template<size_t buffLen> +template<std::size_t buffLen> class BString { private: uint8_t m_buff[buffLen]; public: - BString(); + BString() noexcept; - BString(const char *str); + BString(const char *str) noexcept; - const BString &operator=(const char *str); + const BString &operator=(const char *str) noexcept; - const BString &operator=(char *str); + const BString &operator=(char *str) noexcept; - const BString &operator=(int64_t i); + const BString &operator=(int64_t i) noexcept; - const BString &operator+=(const char *str); + const BString &operator+=(const char *str) noexcept; - const BString &operator+=(char *str); + const BString &operator+=(char *str) noexcept; - const BString &operator+=(int64_t i); + const BString &operator+=(int64_t i) noexcept; - bool operator==(const BString &other); + bool operator==(const BString &other) noexcept; - char *data(); + char *data() noexcept; const char *c_str() noexcept; /** * Returns the number of characters in this string. */ - size_t len(); + std::size_t len() noexcept; /** * Returns the number of bytes used for this string. */ - size_t size(); + std::size_t size() noexcept; /** * Returns the capacity of bytes for this string. */ - size_t cap(); + std::size_t cap() noexcept; }; -template<size_t size> -BString<size>::BString() { +template<std::size_t size> +BString<size>::BString() noexcept { m_buff[0] = 0; } -template<size_t size> -BString<size>::BString(const char *str) { +template<std::size_t size> +BString<size>::BString(const char *str) noexcept { *this = str; } -template<size_t size> -const BString<size> &BString<size>::operator=(int64_t i) { +template<std::size_t size> +const BString<size> &BString<size>::operator=(int64_t i) noexcept { char str[65]; ox_itoa(i, str); return this->operator=(str); } -template<size_t size> -const BString<size> &BString<size>::operator=(const char *str) { - size_t strLen = ox_strlen(str) + 1; +template<std::size_t size> +const BString<size> &BString<size>::operator=(const char *str) noexcept { + std::size_t strLen = ox_strlen(str) + 1; if (cap() < strLen) { strLen = cap(); } @@ -88,14 +88,14 @@ const BString<size> &BString<size>::operator=(const char *str) { return *this; } -template<size_t size> -const BString<size> &BString<size>::operator=(char *str) { +template<std::size_t size> +const BString<size> &BString<size>::operator=(char *str) noexcept { return *this = (const char*) str; } -template<size_t size> -const BString<size> &BString<size>::operator+=(const char *str) { - size_t strLen = ox_strlen(str) + 1; +template<std::size_t size> +const BString<size> &BString<size>::operator+=(const char *str) noexcept { + std::size_t strLen = ox_strlen(str) + 1; auto currentLen = len(); if (cap() < currentLen + strLen) { strLen = cap() - currentLen; @@ -106,22 +106,22 @@ const BString<size> &BString<size>::operator+=(const char *str) { return *this; } -template<size_t size> -const BString<size> &BString<size>::operator+=(char *str) { +template<std::size_t size> +const BString<size> &BString<size>::operator+=(char *str) noexcept { return *this += (const char*) str; } -template<size_t size> -const BString<size> &BString<size>::operator+=(int64_t i) { +template<std::size_t size> +const BString<size> &BString<size>::operator+=(int64_t i) noexcept { char str[65]; ox_itoa(i, str); return this->operator+=(str); } -template<size_t buffLen> -bool BString<buffLen>::operator==(const BString<buffLen> &other) { +template<std::size_t buffLen> +bool BString<buffLen>::operator==(const BString<buffLen> &other) noexcept { bool retval = true; - size_t i = 0; + std::size_t i = 0; while (i < buffLen && (m_buff[i] || other.m_buff[i])) { if (m_buff[i] != other.m_buff[i]) { retval = false; @@ -132,21 +132,21 @@ bool BString<buffLen>::operator==(const BString<buffLen> &other) { return retval; } -template<size_t buffLen> -char *BString<buffLen>::data() { +template<std::size_t buffLen> +char *BString<buffLen>::data() noexcept { return (char*) m_buff; } -template<size_t buffLen> +template<std::size_t buffLen> const char *BString<buffLen>::c_str() noexcept { return (const char*) m_buff; } -template<size_t buffLen> -size_t BString<buffLen>::len() { - size_t length = 0; - for (size_t i = 0; i < buffLen; i++) { +template<std::size_t buffLen> +std::size_t BString<buffLen>::len() noexcept { + std::size_t length = 0; + for (std::size_t i = 0; i < buffLen; i++) { uint8_t b = m_buff[i]; if (b) { if ((b & 128) == 0) { // normal ASCII character @@ -161,15 +161,15 @@ size_t BString<buffLen>::len() { return length; } -template<size_t buffLen> -size_t BString<buffLen>::size() { - size_t i; +template<std::size_t buffLen> +std::size_t BString<buffLen>::size() noexcept { + std::size_t i; for (i = 0; i < buffLen && m_buff[i]; i++); return i + 1; // add one for null terminator } -template<size_t buffLen> -size_t BString<buffLen>::cap() { +template<std::size_t buffLen> +std::size_t BString<buffLen>::cap() noexcept { return buffLen; } diff --git a/deps/ox/src/ox/std/strops.hpp b/deps/ox/src/ox/std/strops.hpp index 0b62e37b..67c47610 100644 --- a/deps/ox/src/ox/std/strops.hpp +++ b/deps/ox/src/ox/std/strops.hpp @@ -12,19 +12,19 @@ #include "types.hpp" #include "typetraits.hpp" -constexpr int ox_strlen(const char *str1) { +constexpr int ox_strlen(const char *str1) noexcept { int len = 0; for (; str1[len]; len++); return len; } -constexpr int ox_strlen(char *str1) { +constexpr int ox_strlen(char *str1) noexcept { int len = 0; for (; str1[len]; len++); return len; } -constexpr int ox_strcmp(const char *str1, const char *str2) { +constexpr int ox_strcmp(const char *str1, const char *str2) noexcept { auto retval = 0; auto i = 0; while (str1[i] || str2[i]) { @@ -40,8 +40,8 @@ constexpr int ox_strcmp(const char *str1, const char *str2) { return retval; } -constexpr const char *ox_strchr(const char *str, int character, size_t maxLen = 0xFFFFFFFF) { - for (size_t i = 0; i <= maxLen; i++) { +constexpr const char *ox_strchr(const char *str, int character, std::size_t maxLen = 0xFFFFFFFF) noexcept { + for (std::size_t i = 0; i <= maxLen; i++) { if (str[i] == character) { return &str[i]; } else if (str[i] == 0) { @@ -51,8 +51,8 @@ constexpr const char *ox_strchr(const char *str, int character, size_t maxLen = return nullptr; } -constexpr char *ox_strchr(char *str, int character, size_t maxLen = 0xFFFFFFFF) { - for (size_t i = 0; i < maxLen; i++) { +constexpr char *ox_strchr(char *str, int character, std::size_t maxLen = 0xFFFFFFFF) noexcept { + for (std::size_t i = 0; i < maxLen; i++) { if (str[i] == character) { return &str[i]; } else if (str[i] == 0) { @@ -62,7 +62,7 @@ constexpr char *ox_strchr(char *str, int character, size_t maxLen = 0xFFFFFFFF) return nullptr; } -constexpr int ox_lastIndexOf(const char *str, int character, int maxLen = 0xFFFFFFFF) { +constexpr int ox_lastIndexOf(const char *str, int character, int maxLen = 0xFFFFFFFF) noexcept { int retval = -1; for (int i = 0; i < maxLen && str[i]; i++) { if (str[i] == character) { @@ -72,7 +72,7 @@ constexpr int ox_lastIndexOf(const char *str, int character, int maxLen = 0xFFFF return retval; } -constexpr int ox_lastIndexOf(char *str, int character, int maxLen = 0xFFFFFFFF) { +constexpr int ox_lastIndexOf(char *str, int character, int maxLen = 0xFFFFFFFF) noexcept { int retval = -1; for (int i = 0; i < maxLen && str[i]; i++) { if (str[i] == character) { @@ -82,7 +82,7 @@ constexpr int ox_lastIndexOf(char *str, int character, int maxLen = 0xFFFFFFFF) return retval; } -constexpr int ox_atoi(const char *str) { +constexpr int ox_atoi(const char *str) noexcept { int total = 0; int multiplier = 1; @@ -94,7 +94,7 @@ constexpr int ox_atoi(const char *str) { return total; } -constexpr char *ox_itoa(int64_t v, char *str) { +constexpr char *ox_itoa(int64_t v, char *str) noexcept { if (v) { auto mod = 1000000000000000000; constexpr auto base = 10; diff --git a/deps/ox/src/ox/std/types.hpp b/deps/ox/src/ox/std/types.hpp index 6de3a433..fbd44096 100644 --- a/deps/ox/src/ox/std/types.hpp +++ b/deps/ox/src/ox/std/types.hpp @@ -75,8 +75,6 @@ using size_t = decltype(alignof(int)); } -using std::size_t; - static_assert(sizeof(int8_t) == 1, "int8_t is wrong size"); static_assert(sizeof(int16_t) == 2, "int16_t is wrong size"); static_assert(sizeof(int32_t) == 4, "int32_t is wrong size"); diff --git a/deps/ox/src/ox/std/vector.hpp b/deps/ox/src/ox/std/vector.hpp index 44b18359..67ea829d 100644 --- a/deps/ox/src/ox/std/vector.hpp +++ b/deps/ox/src/ox/std/vector.hpp @@ -16,13 +16,13 @@ template<typename T> class Vector { private: - size_t m_size = 0; + std::size_t m_size = 0; T *m_items = nullptr; public: Vector() = default; - explicit Vector(size_t size); + explicit Vector(std::size_t size); Vector(Vector &other); @@ -34,18 +34,18 @@ class Vector { Vector &operator=(Vector &&other); - T &operator[](size_t i); + T &operator[](std::size_t i); - const T &operator[](size_t i) const; + const T &operator[](std::size_t i) const; - size_t size() const; + std::size_t size() const; - void resize(size_t size); + void resize(std::size_t size); }; template<typename T> -Vector<T>::Vector(size_t size) { +Vector<T>::Vector(std::size_t size) { m_size = size; m_items = new T[m_size]; } @@ -54,7 +54,7 @@ template<typename T> Vector<T>::Vector(Vector<T> &other) { m_size = other.m_size; m_items = new T[m_size]; - for (size_t i = 0; i < m_size; i++) { + for (std::size_t i = 0; i < m_size; i++) { m_items[i] = other.m_items[i]; } } @@ -80,7 +80,7 @@ Vector<T> &Vector<T>::operator=(Vector<T> &other) { ~Vector<T>(); m_size = other.m_size; m_items = new T[m_size]; - for (size_t i = 0; i < m_size; i++) { + for (std::size_t i = 0; i < m_size; i++) { m_items[i] = other.m_items[i]; } return *this; @@ -97,26 +97,26 @@ Vector<T> &Vector<T>::operator=(Vector<T> &&other) { } template<typename T> -T &Vector<T>::operator[](size_t i) { +T &Vector<T>::operator[](std::size_t i) { return *(m_items[i]); } template<typename T> -const T &Vector<T>::operator[](size_t i) const { +const T &Vector<T>::operator[](std::size_t i) const { return *(m_items[i]); } template<typename T> -size_t Vector<T>::size() const { +std::size_t Vector<T>::size() const { return m_size; }; template<typename T> -void Vector<T>::resize(size_t size) { +void Vector<T>::resize(std::size_t size) { auto oldItems = m_items; m_items = new T[size]; const auto itRange = size > m_size ? m_size : size; - for (size_t i = 0; i < itRange; i++) { + for (std::size_t i = 0; i < itRange; i++) { m_items[i] = oldItems[i]; } m_size = size; diff --git a/deps/ox/src/ox/trace/trace.hpp b/deps/ox/src/ox/trace/trace.hpp index 827c6665..ff89279b 100644 --- a/deps/ox/src/ox/trace/trace.hpp +++ b/deps/ox/src/ox/trace/trace.hpp @@ -66,7 +66,7 @@ class StdOutStream { ~StdOutStream(); template<typename T> - inline StdOutStream &operator<<(T v) { + inline StdOutStream &operator<<(const T &v) { m_msg.msg += " "; m_msg.msg += v; return *this;