diff --git a/include/Nazara/Core/AbstractHash.hpp b/include/Nazara/Core/AbstractHash.hpp index bc0a1a4a9..f3c848ed3 100644 --- a/include/Nazara/Core/AbstractHash.hpp +++ b/include/Nazara/Core/AbstractHash.hpp @@ -23,11 +23,11 @@ namespace Nz AbstractHash(AbstractHash&&) = default; virtual ~AbstractHash(); - virtual void Append(const UInt8* data, unsigned int len) = 0; + virtual void Append(const UInt8* data, std::size_t len) = 0; virtual void Begin() = 0; virtual ByteArray End() = 0; - virtual unsigned int GetDigestLength() const = 0; + virtual std::size_t GetDigestLength() const = 0; virtual const char* GetHashName() const = 0; AbstractHash& operator=(const AbstractHash&) = delete; diff --git a/include/Nazara/Core/ByteArray.inl b/include/Nazara/Core/ByteArray.inl index 19d7e115b..1597758fd 100644 --- a/include/Nazara/Core/ByteArray.inl +++ b/include/Nazara/Core/ByteArray.inl @@ -204,10 +204,10 @@ namespace Nz inline String ByteArray::ToHex() const { - unsigned int length = m_array.size() * 2; + std::size_t length = m_array.size() * 2; String hexOutput(length, '\0'); - for (unsigned int i = 0; i < m_array.size(); ++i) + for (std::size_t i = 0; i < m_array.size(); ++i) std::sprintf(&hexOutput[i * 2], "%02x", m_array[i]); return hexOutput; diff --git a/include/Nazara/Core/Color.inl b/include/Nazara/Core/Color.inl index 8bf6dd414..ac576eee3 100644 --- a/include/Nazara/Core/Color.inl +++ b/include/Nazara/Core/Color.inl @@ -54,22 +54,24 @@ namespace Nz inline Color Color::operator+(const Color& color) const { + ///TODO: Improve this shit Color c; - c.r = std::min(static_cast(r) + static_cast(color.r), 255U); - c.g = std::min(static_cast(g) + static_cast(color.g), 255U); - c.b = std::min(static_cast(b) + static_cast(color.b), 255U); - c.a = std::min(static_cast(a) + static_cast(color.a), 255U); + c.r = static_cast(std::min(static_cast(r) + static_cast(color.r), 255U)); + c.g = static_cast(std::min(static_cast(g) + static_cast(color.g), 255U)); + c.b = static_cast(std::min(static_cast(b) + static_cast(color.b), 255U)); + c.a = static_cast(std::min(static_cast(a) + static_cast(color.a), 255U)); return c; } inline Color Color::operator*(const Color& color) const { + ///TODO: Improve this shit Color c; - c.r = (static_cast(r) * static_cast(color.r)) / 255U; - c.g = (static_cast(g) * static_cast(color.g)) / 255U; - c.b = (static_cast(b) * static_cast(color.b)) / 255U; - c.a = (static_cast(a) * static_cast(color.a)) / 255U; + c.r = static_cast((static_cast(r) * static_cast(color.r)) / 255U); + c.g = static_cast((static_cast(g) * static_cast(color.g)) / 255U); + c.b = static_cast((static_cast(b) * static_cast(color.b)) / 255U); + c.a = static_cast((static_cast(a) * static_cast(color.a)) / 255U); return c; } diff --git a/include/Nazara/Core/Error.hpp b/include/Nazara/Core/Error.hpp index badfa39c2..b210c2e1d 100644 --- a/include/Nazara/Core/Error.hpp +++ b/include/Nazara/Core/Error.hpp @@ -14,9 +14,9 @@ #include #if NAZARA_CORE_ENABLE_ASSERTS || defined(NAZARA_DEBUG) - #define NazaraAssert(a, err) do { if (!(a)) Nz::Error::Trigger(Nz::ErrorType_AssertFailed, err, __LINE__, Nz::Directory::GetCurrentFileRelativeToEngine(__FILE__), NAZARA_FUNCTION); } while (false) + #define NazaraAssert(a, err) if (!(a)) Nz::Error::Trigger(Nz::ErrorType_AssertFailed, err, __LINE__, Nz::Directory::GetCurrentFileRelativeToEngine(__FILE__), NAZARA_FUNCTION) #else - #define NazaraAssert(a, err) do {} while (false) + #define NazaraAssert(a, err) for (;;) break #endif #define NazaraError(err) Nz::Error::Trigger(Nz::ErrorType_Normal, err, __LINE__, Nz::Directory::GetCurrentFileRelativeToEngine(__FILE__), NAZARA_FUNCTION) diff --git a/include/Nazara/Core/Hash/CRC32.hpp b/include/Nazara/Core/Hash/CRC32.hpp index 1898ffae4..79da031b3 100644 --- a/include/Nazara/Core/Hash/CRC32.hpp +++ b/include/Nazara/Core/Hash/CRC32.hpp @@ -21,11 +21,11 @@ namespace Nz HashCRC32(UInt32 polynomial = 0x04c11db7); virtual ~HashCRC32(); - void Append(const UInt8* data, unsigned int len) override; + void Append(const UInt8* data, std::size_t len) override; void Begin() override; ByteArray End() override; - unsigned int GetDigestLength() const override; + std::size_t GetDigestLength() const override; const char* GetHashName() const override; private: diff --git a/include/Nazara/Core/Hash/Fletcher16.hpp b/include/Nazara/Core/Hash/Fletcher16.hpp index a4e296f38..6bc95db68 100644 --- a/include/Nazara/Core/Hash/Fletcher16.hpp +++ b/include/Nazara/Core/Hash/Fletcher16.hpp @@ -22,11 +22,11 @@ namespace Nz HashFletcher16(); virtual ~HashFletcher16(); - void Append(const UInt8* data, unsigned int len) override; + void Append(const UInt8* data, std::size_t len) override; void Begin() override; ByteArray End() override; - unsigned int GetDigestLength() const override; + std::size_t GetDigestLength() const override; const char* GetHashName() const override; private: diff --git a/include/Nazara/Core/Hash/MD5.hpp b/include/Nazara/Core/Hash/MD5.hpp index 20fee5e38..1c8bd0d25 100644 --- a/include/Nazara/Core/Hash/MD5.hpp +++ b/include/Nazara/Core/Hash/MD5.hpp @@ -21,11 +21,11 @@ namespace Nz HashMD5(); virtual ~HashMD5(); - void Append(const UInt8* data, unsigned int len) override; + void Append(const UInt8* data, std::size_t len) override; void Begin() override; ByteArray End() override; - unsigned int GetDigestLength() const override; + std::size_t GetDigestLength() const override; const char* GetHashName() const override; private: diff --git a/include/Nazara/Core/Hash/SHA1.hpp b/include/Nazara/Core/Hash/SHA1.hpp index 4f80d3ca1..8e410adb7 100644 --- a/include/Nazara/Core/Hash/SHA1.hpp +++ b/include/Nazara/Core/Hash/SHA1.hpp @@ -21,11 +21,11 @@ namespace Nz HashSHA1(); virtual ~HashSHA1(); - void Append(const UInt8* data, unsigned int len) override; + void Append(const UInt8* data, std::size_t len) override; void Begin() override; ByteArray End() override; - unsigned int GetDigestLength() const override; + std::size_t GetDigestLength() const override; const char* GetHashName() const override; private: diff --git a/include/Nazara/Core/Hash/SHA224.hpp b/include/Nazara/Core/Hash/SHA224.hpp index 9d97e3193..48893c8d0 100644 --- a/include/Nazara/Core/Hash/SHA224.hpp +++ b/include/Nazara/Core/Hash/SHA224.hpp @@ -21,11 +21,11 @@ namespace Nz HashSHA224(); virtual ~HashSHA224(); - void Append(const UInt8* data, unsigned int len) override; + void Append(const UInt8* data, std::size_t len) override; void Begin() override; ByteArray End() override; - unsigned int GetDigestLength() const override; + std::size_t GetDigestLength() const override; const char* GetHashName() const override; private: diff --git a/include/Nazara/Core/Hash/SHA256.hpp b/include/Nazara/Core/Hash/SHA256.hpp index 5398f363b..1adf5ad52 100644 --- a/include/Nazara/Core/Hash/SHA256.hpp +++ b/include/Nazara/Core/Hash/SHA256.hpp @@ -21,11 +21,11 @@ namespace Nz HashSHA256(); virtual ~HashSHA256(); - void Append(const UInt8* data, unsigned int len) override; + void Append(const UInt8* data, std::size_t len) override; void Begin() override; ByteArray End() override; - unsigned int GetDigestLength() const override; + std::size_t GetDigestLength() const override; const char* GetHashName() const override; private: diff --git a/include/Nazara/Core/Hash/SHA384.hpp b/include/Nazara/Core/Hash/SHA384.hpp index a84fc8a4e..54643cbbd 100644 --- a/include/Nazara/Core/Hash/SHA384.hpp +++ b/include/Nazara/Core/Hash/SHA384.hpp @@ -21,11 +21,11 @@ namespace Nz HashSHA384(); virtual ~HashSHA384(); - void Append(const UInt8* data, unsigned int len) override; + void Append(const UInt8* data, std::size_t len) override; void Begin() override; ByteArray End() override; - unsigned int GetDigestLength() const override; + std::size_t GetDigestLength() const override; const char* GetHashName() const override; private: diff --git a/include/Nazara/Core/Hash/SHA512.hpp b/include/Nazara/Core/Hash/SHA512.hpp index 7a49aaf72..a17726b74 100644 --- a/include/Nazara/Core/Hash/SHA512.hpp +++ b/include/Nazara/Core/Hash/SHA512.hpp @@ -21,11 +21,11 @@ namespace Nz HashSHA512(); virtual ~HashSHA512(); - void Append(const UInt8* data, unsigned int len) override; + void Append(const UInt8* data, std::size_t len) override; void Begin() override; ByteArray End() override; - unsigned int GetDigestLength() const override; + std::size_t GetDigestLength() const override; const char* GetHashName() const override; private: diff --git a/include/Nazara/Core/Hash/Whirlpool.hpp b/include/Nazara/Core/Hash/Whirlpool.hpp index 0da68015a..600e23b25 100644 --- a/include/Nazara/Core/Hash/Whirlpool.hpp +++ b/include/Nazara/Core/Hash/Whirlpool.hpp @@ -19,11 +19,11 @@ namespace Nz HashWhirlpool(); virtual ~HashWhirlpool(); - void Append(const UInt8* data, unsigned int len) override; + void Append(const UInt8* data, std::size_t len) override; void Begin() override; ByteArray End() override; - unsigned int GetDigestLength() const; + std::size_t GetDigestLength() const; const char* GetHashName() const; private: diff --git a/include/Nazara/Core/PrimitiveList.hpp b/include/Nazara/Core/PrimitiveList.hpp index d7fe83a0c..79d2363c2 100644 --- a/include/Nazara/Core/PrimitiveList.hpp +++ b/include/Nazara/Core/PrimitiveList.hpp @@ -13,6 +13,7 @@ namespace Nz { + ///TODO: Inline this class NAZARA_CORE_API PrimitiveList { public: @@ -35,9 +36,9 @@ namespace Nz void AddUVSphere(float size, unsigned int sliceCount = 4, unsigned int stackCount = 4, const Matrix4f& transformMatrix = Matrix4f::Identity()); void AddUVSphere(float size, unsigned int sliceCount, unsigned int stackCount, const Vector3f& position, const Quaternionf& rotation = Quaternionf::Identity()); - Primitive& GetPrimitive(unsigned int i); - const Primitive& GetPrimitive(unsigned int i) const; - unsigned int GetSize() const; + Primitive& GetPrimitive(std::size_t i); + const Primitive& GetPrimitive(std::size_t i) const; + std::size_t GetSize() const; PrimitiveList& operator=(const PrimitiveList&) = default; PrimitiveList& operator=(PrimitiveList&&) = default; diff --git a/include/Nazara/Core/String.hpp b/include/Nazara/Core/String.hpp index 7bfb21e5b..405eb7a19 100644 --- a/include/Nazara/Core/String.hpp +++ b/include/Nazara/Core/String.hpp @@ -32,12 +32,12 @@ namespace Nz String(); explicit String(char character); - String(unsigned int rep, char character); - String(unsigned int rep, const char* string); - String(unsigned int rep, const char* string, unsigned int length); - String(unsigned int rep, const String& string); + String(std::size_t rep, char character); + String(std::size_t rep, const char* string); + String(std::size_t rep, const char* string, std::size_t length); + String(std::size_t rep, const String& string); String(const char* string); - String(const char* string, unsigned int length); + String(const char* string, std::size_t length); String(const std::string& string); String(const String& string) = default; String(String&& string) noexcept = default; @@ -45,57 +45,57 @@ namespace Nz String& Append(char character); String& Append(const char* string); - String& Append(const char* string, unsigned int length); + String& Append(const char* string, std::size_t length); String& Append(const String& string); void Clear(bool keepBuffer = false); - bool Contains(char character, int start = 0, UInt32 flags = None) const; - bool Contains(const char* string, int start = 0, UInt32 flags = None) const; - bool Contains(const String& string, int start = 0, UInt32 flags = None) const; + bool Contains(char character, std::intmax_t start = 0, UInt32 flags = None) const; + bool Contains(const char* string, std::intmax_t start = 0, UInt32 flags = None) const; + bool Contains(const String& string, std::intmax_t start = 0, UInt32 flags = None) const; - unsigned int Count(char character, int start = 0, UInt32 flags = None) const; - unsigned int Count(const char* string, int start = 0, UInt32 flags = None) const; - unsigned int Count(const String& string, int start = 0, UInt32 flags = None) const; - unsigned int CountAny(const char* string, int start = 0, UInt32 flags = None) const; - unsigned int CountAny(const String& string, int start = 0, UInt32 flags = None) const; + unsigned int Count(char character, std::intmax_t start = 0, UInt32 flags = None) const; + unsigned int Count(const char* string, std::intmax_t start = 0, UInt32 flags = None) const; + unsigned int Count(const String& string, std::intmax_t start = 0, UInt32 flags = None) const; + unsigned int CountAny(const char* string, std::intmax_t start = 0, UInt32 flags = None) const; + unsigned int CountAny(const String& string, std::intmax_t start = 0, UInt32 flags = None) const; bool EndsWith(char character, UInt32 flags = None) const; bool EndsWith(const char* string, UInt32 flags = None) const; - bool EndsWith(const char* string, unsigned int length, UInt32 flags = None) const; + bool EndsWith(const char* string, std::size_t length, UInt32 flags = None) const; bool EndsWith(const String& string, UInt32 flags = None) const; - unsigned int Find(char character, int start = 0, UInt32 flags = None) const; - unsigned int Find(const char* string, int start = 0, UInt32 flags = None) const; - unsigned int Find(const String& string, int start = 0, UInt32 flags = None) const; - unsigned int FindAny(const char* string, int start = 0, UInt32 flags = None) const; - unsigned int FindAny(const String& string, int start = 0, UInt32 flags = None) const; - unsigned int FindLast(char character, int start = -1, UInt32 flags = None) const; - unsigned int FindLast(const char *string, int start = -1, UInt32 flags = None) const; - unsigned int FindLast(const String& string, int start = -1, UInt32 flags = None) const; - unsigned int FindLastAny(const char* string, int start = -1, UInt32 flags = None) const; - unsigned int FindLastAny(const String& string, int start = -1, UInt32 flags = None) const; - unsigned int FindLastWord(const char* string, int start = -1, UInt32 flags = None) const; - unsigned int FindLastWord(const String& string, int start = -1, UInt32 flags = None) const; - unsigned int FindWord(const char* string, int start = 0, UInt32 flags = None) const; - unsigned int FindWord(const String& string, int start = 0, UInt32 flags = None) const; + std::size_t Find(char character, std::intmax_t start = 0, UInt32 flags = None) const; + std::size_t Find(const char* string, std::intmax_t start = 0, UInt32 flags = None) const; + std::size_t Find(const String& string, std::intmax_t start = 0, UInt32 flags = None) const; + std::size_t FindAny(const char* string, std::intmax_t start = 0, UInt32 flags = None) const; + std::size_t FindAny(const String& string, std::intmax_t start = 0, UInt32 flags = None) const; + std::size_t FindLast(char character, std::intmax_t start = -1, UInt32 flags = None) const; + std::size_t FindLast(const char *string, std::intmax_t start = -1, UInt32 flags = None) const; + std::size_t FindLast(const String& string, std::intmax_t start = -1, UInt32 flags = None) const; + std::size_t FindLastAny(const char* string, std::intmax_t start = -1, UInt32 flags = None) const; + std::size_t FindLastAny(const String& string, std::intmax_t start = -1, UInt32 flags = None) const; + std::size_t FindLastWord(const char* string, std::intmax_t start = -1, UInt32 flags = None) const; + std::size_t FindLastWord(const String& string, std::intmax_t start = -1, UInt32 flags = None) const; + std::size_t FindWord(const char* string, std::intmax_t start = 0, UInt32 flags = None) const; + std::size_t FindWord(const String& string, std::intmax_t start = 0, UInt32 flags = None) const; char* GetBuffer(); - unsigned int GetCapacity() const; + std::size_t GetCapacity() const; const char* GetConstBuffer() const; - unsigned int GetLength() const; - unsigned int GetSize() const; + std::size_t GetLength() const; + std::size_t GetSize() const; std::string GetUtf8String() const; std::u16string GetUtf16String() const; std::u32string GetUtf32String() const; std::wstring GetWideString() const; String GetWord(unsigned int index, UInt32 flags = None) const; - unsigned int GetWordPosition(unsigned int index, UInt32 flags = None) const; + std::size_t GetWordPosition(unsigned int index, UInt32 flags = None) const; - String& Insert(int pos, char character); - String& Insert(int pos, const char* string); - String& Insert(int pos, const char* string, unsigned int length); - String& Insert(int pos, const String& string); + String& Insert(std::intmax_t pos, char character); + String& Insert(std::intmax_t pos, const char* string); + String& Insert(std::intmax_t pos, const char* string, std::size_t length); + String& Insert(std::intmax_t pos, const String& string); bool IsEmpty() const; bool IsNull() const; @@ -106,32 +106,32 @@ namespace Nz String& Prepend(char character); String& Prepend(const char* string); - String& Prepend(const char* string, unsigned int length); + String& Prepend(const char* string, std::size_t length); String& Prepend(const String& string); - unsigned int Replace(char oldCharacter, char newCharacter, int start = 0, UInt32 flags = None); - unsigned int Replace(const char* oldString, const char* replaceString, int start = 0, UInt32 flags = None); - unsigned int Replace(const char* oldString, unsigned int oldLength, const char* replaceString, unsigned int replaceLength, int start = 0, UInt32 flags = None); - unsigned int Replace(const String& oldString, const String& replaceString, int start = 0, UInt32 flags = None); - unsigned int ReplaceAny(const char* oldCharacters, char replaceCharacter, int start = 0, UInt32 flags = None); - //unsigned int ReplaceAny(const char* oldCharacters, const char* replaceString, int start = 0, UInt32 flags = None); - //unsigned int ReplaceAny(const String& oldCharacters, const String& replaceString, int start = 0, UInt32 flags = None); + unsigned int Replace(char oldCharacter, char newCharacter, std::intmax_t start = 0, UInt32 flags = None); + unsigned int Replace(const char* oldString, const char* replaceString, std::intmax_t start = 0, UInt32 flags = None); + unsigned int Replace(const char* oldString, std::size_t oldLength, const char* replaceString, std::size_t replaceLength, std::intmax_t start = 0, UInt32 flags = None); + unsigned int Replace(const String& oldString, const String& replaceString, std::intmax_t start = 0, UInt32 flags = None); + unsigned int ReplaceAny(const char* oldCharacters, char replaceCharacter, std::intmax_t start = 0, UInt32 flags = None); + //unsigned int ReplaceAny(const char* oldCharacters, const char* replaceString, std::intmax_t start = 0, UInt32 flags = None); + //unsigned int ReplaceAny(const String& oldCharacters, const String& replaceString, std::intmax_t start = 0, UInt32 flags = None); - void Reserve(unsigned int bufferSize); + void Reserve(std::size_t bufferSize); - String& Resize(int size, char character = ' '); - String Resized(int size, char character = ' ') const; + String& Resize(std::intmax_t size, char character = ' '); + String Resized(std::intmax_t size, char character = ' ') const; String& Reverse(); String Reversed() const; String& Set(char character); - String& Set(unsigned int rep, char character); - String& Set(unsigned int rep, const char* string); - String& Set(unsigned int rep, const char* string, unsigned int length); - String& Set(unsigned int rep, const String& string); + String& Set(std::size_t rep, char character); + String& Set(std::size_t rep, const char* string); + String& Set(std::size_t rep, const char* string, std::size_t length); + String& Set(std::size_t rep, const String& string); String& Set(const char* string); - String& Set(const char* string, unsigned int length); + String& Set(const char* string, std::size_t length); String& Set(const std::string& string); String& Set(const String& string); String& Set(String&& string) noexcept; @@ -139,26 +139,26 @@ namespace Nz String Simplified(UInt32 flags = None) const; String& Simplify(UInt32 flags = None); - unsigned int Split(std::vector& result, char separation = ' ', int start = 0, UInt32 flags = None) const; - unsigned int Split(std::vector& result, const char* separation, int start = 0, UInt32 flags = None) const; - unsigned int Split(std::vector& result, const char* separation, unsigned int length, int start = 0, UInt32 flags = None) const; - unsigned int Split(std::vector& result, const String& separation, int start = 0, UInt32 flags = None) const; - unsigned int SplitAny(std::vector& result, const char* separations, int start = 0, UInt32 flags = None) const; - unsigned int SplitAny(std::vector& result, const String& separations, int start = 0, UInt32 flags = None) const; + unsigned int Split(std::vector& result, char separation = ' ', std::intmax_t start = 0, UInt32 flags = None) const; + unsigned int Split(std::vector& result, const char* separation, std::intmax_t start = 0, UInt32 flags = None) const; + unsigned int Split(std::vector& result, const char* separation, std::size_t length, std::intmax_t start = 0, UInt32 flags = None) const; + unsigned int Split(std::vector& result, const String& separation, std::intmax_t start = 0, UInt32 flags = None) const; + unsigned int SplitAny(std::vector& result, const char* separations, std::intmax_t start = 0, UInt32 flags = None) const; + unsigned int SplitAny(std::vector& result, const String& separations, std::intmax_t start = 0, UInt32 flags = None) const; bool StartsWith(char character, UInt32 flags = None) const; bool StartsWith(const char* string, UInt32 flags = None) const; bool StartsWith(const String& string, UInt32 flags = None) const; - String SubString(int startPos, int endPos = -1) const; - String SubStringFrom(char character, int startPos = 0, bool fromLast = false, bool include = false, UInt32 flags = None) const; - String SubStringFrom(const char *string, int startPos = 0, bool fromLast = false, bool include = false, UInt32 flags = None) const; - String SubStringFrom(const char *string, unsigned int length, int startPos = 0, bool fromLast = false, bool include = false, UInt32 flags = None) const; - String SubStringFrom(const String& string, int startPos = 0, bool fromLast = false, bool include = false, UInt32 flags = None) const; - String SubStringTo(char character, int startPos = 0, bool toLast = false, bool include = false, UInt32 flags = None) const; - String SubStringTo(const char *string, int startPos = 0, bool toLast = false, bool include = false, UInt32 flags = None) const; - String SubStringTo(const char *string, unsigned int length, int startPos = 0, bool toLast = false, bool include = false, UInt32 flags = None) const; - String SubStringTo(const String& string, int startPos = 0, bool toLast = false, bool include = false, UInt32 flags = None) const; + String SubString(std::intmax_t startPos, std::intmax_t endPos = -1) const; + String SubStringFrom(char character, std::intmax_t startPos = 0, bool fromLast = false, bool include = false, UInt32 flags = None) const; + String SubStringFrom(const char* string, std::intmax_t startPos = 0, bool fromLast = false, bool include = false, UInt32 flags = None) const; + String SubStringFrom(const char* string, std::size_t length, std::intmax_t startPos = 0, bool fromLast = false, bool include = false, UInt32 flags = None) const; + String SubStringFrom(const String& string, std::intmax_t startPos = 0, bool fromLast = false, bool include = false, UInt32 flags = None) const; + String SubStringTo(char character, std::intmax_t startPos = 0, bool toLast = false, bool include = false, UInt32 flags = None) const; + String SubStringTo(const char* string, std::intmax_t startPos = 0, bool toLast = false, bool include = false, UInt32 flags = None) const; + String SubStringTo(const char* string, std::size_t length, std::intmax_t startPos = 0, bool toLast = false, bool include = false, UInt32 flags = None) const; + String SubStringTo(const String& string, std::intmax_t startPos = 0, bool toLast = false, bool include = false, UInt32 flags = None) const; void Swap(String& str); @@ -193,8 +193,8 @@ namespace Nz operator std::string() const; - char& operator[](unsigned int pos); - char operator[](unsigned int pos) const; + char& operator[](std::size_t pos); + char operator[](std::size_t pos) const; String& operator=(char character); String& operator=(const char* string); @@ -296,7 +296,7 @@ namespace Nz NAZARA_CORE_API friend bool operator>=(const char* string, const String& nstring); NAZARA_CORE_API friend bool operator>=(const std::string& string, const String& nstring); - static const unsigned int npos; + static const std::size_t npos; private: struct SharedString; @@ -313,11 +313,11 @@ namespace Nz struct SharedString { inline SharedString(); - inline SharedString(unsigned int strSize); - inline SharedString(unsigned int strSize, unsigned int strCapacity); + inline SharedString(std::size_t strSize); + inline SharedString(std::size_t strSize, std::size_t strCapacity); - unsigned int capacity; - unsigned int size; + std::size_t capacity; + std::size_t size; std::unique_ptr string; }; }; diff --git a/include/Nazara/Core/String.inl b/include/Nazara/Core/String.inl index 202cec2e6..93ff32312 100644 --- a/include/Nazara/Core/String.inl +++ b/include/Nazara/Core/String.inl @@ -23,7 +23,7 @@ namespace Nz { } - inline String::SharedString::SharedString(unsigned int strSize) : + inline String::SharedString::SharedString(std::size_t strSize) : capacity(strSize), size(strSize), string(new char[strSize + 1]) @@ -31,7 +31,7 @@ namespace Nz string[strSize] = '\0'; } - inline String::SharedString::SharedString(unsigned int strSize, unsigned int strCapacity) : + inline String::SharedString::SharedString(std::size_t strSize, std::size_t strCapacity) : capacity(strCapacity), size(strSize), string(new char[strCapacity + 1]) diff --git a/include/Nazara/Core/StringStream.hpp b/include/Nazara/Core/StringStream.hpp index c34209433..da68e8b27 100644 --- a/include/Nazara/Core/StringStream.hpp +++ b/include/Nazara/Core/StringStream.hpp @@ -50,7 +50,7 @@ namespace Nz private: std::vector m_strings; - unsigned int m_bufferSize; + std::size_t m_bufferSize; }; } diff --git a/include/Nazara/Math/Algorithm.hpp b/include/Nazara/Math/Algorithm.hpp index 17d0fc7e4..841c3569a 100644 --- a/include/Nazara/Math/Algorithm.hpp +++ b/include/Nazara/Math/Algorithm.hpp @@ -36,7 +36,7 @@ namespace Nz template constexpr T FromDegrees(T degrees); template constexpr T FromRadians(T radians); template constexpr T DegreeToRadian(T degrees); - unsigned int GetNearestPowerOfTwo(unsigned int number); + template T GetNearestPowerOfTwo(T number); unsigned int GetNumberLength(signed char number); unsigned int GetNumberLength(unsigned char number); unsigned int GetNumberLength(int number); diff --git a/include/Nazara/Math/Algorithm.inl b/include/Nazara/Math/Algorithm.inl index b02e0acf3..1a4fceded 100644 --- a/include/Nazara/Math/Algorithm.inl +++ b/include/Nazara/Math/Algorithm.inl @@ -156,10 +156,11 @@ namespace Nz #endif } - inline unsigned int GetNearestPowerOfTwo(unsigned int number) + template + T GetNearestPowerOfTwo(T number) { ///TODO: Marquer comme constexpr en C++14 - unsigned int x = 1; + T x = 1; // Tant que x est plus petit que n, on décale ses bits vers la gauche, ce qui revient à multiplier par deux while (x < number) x <<= 1; diff --git a/include/Nazara/Math/Vector3.inl b/include/Nazara/Math/Vector3.inl index bfb026c81..0626cb8eb 100644 --- a/include/Nazara/Math/Vector3.inl +++ b/include/Nazara/Math/Vector3.inl @@ -109,13 +109,13 @@ namespace Nz template T Vector3::GetLength() const { - return std::sqrt(GetSquaredLength()); + return static_cast(std::sqrt(GetSquaredLength())); } template float Vector3::GetLengthf() const { - return std::sqrt(static_cast(GetSquaredLength())); + return std::sqrt(static_cast(GetSquaredLength())); } template diff --git a/include/Nazara/Utility/VertexDeclaration.hpp b/include/Nazara/Utility/VertexDeclaration.hpp index 1e29bc9cd..f5dea6457 100644 --- a/include/Nazara/Utility/VertexDeclaration.hpp +++ b/include/Nazara/Utility/VertexDeclaration.hpp @@ -34,12 +34,12 @@ namespace Nz ~VertexDeclaration(); void DisableComponent(VertexComponent component); - void EnableComponent(VertexComponent component, ComponentType type, unsigned int offset); + void EnableComponent(VertexComponent component, ComponentType type, std::size_t offset); - void GetComponent(VertexComponent component, bool* enabled, ComponentType* type, unsigned int* offset) const; - unsigned int GetStride() const; + void GetComponent(VertexComponent component, bool* enabled, ComponentType* type, std::size_t* offset) const; + std::size_t GetStride() const; - void SetStride(unsigned int stride); + void SetStride(std::size_t stride); VertexDeclaration& operator=(const VertexDeclaration& declaration); @@ -58,7 +58,7 @@ namespace Nz { ComponentType type; // Le type de donnée bool enabled = false; // Ce composant est-il activé ?/ - unsigned int offset; // La position, en octets, de la première donnée + std::size_t offset; // La position, en octets, de la première donnée /* ** -Lynix: @@ -70,7 +70,7 @@ namespace Nz }; Component m_components[VertexComponent_Max+1]; - unsigned int m_stride; + std::size_t m_stride; static VertexDeclaration s_declarations[VertexLayout_Max+1]; static VertexDeclarationLibrary::LibraryMap s_library; diff --git a/include/Nazara/Utility/VertexMapper.inl b/include/Nazara/Utility/VertexMapper.inl index e2531cdbb..7b36743eb 100644 --- a/include/Nazara/Utility/VertexMapper.inl +++ b/include/Nazara/Utility/VertexMapper.inl @@ -16,7 +16,7 @@ namespace Nz // Ensuite le composant qui nous intéresse bool enabled; ComponentType type; - unsigned int offset; + std::size_t offset; declaration->GetComponent(component, &enabled, &type, &offset); if (enabled) diff --git a/src/Nazara/Core/Directory.cpp b/src/Nazara/Core/Directory.cpp index 6d24e714e..7f8a90dcc 100644 --- a/src/Nazara/Core/Directory.cpp +++ b/src/Nazara/Core/Directory.cpp @@ -6,6 +6,7 @@ #include #include #include +#include #include #if defined(NAZARA_PLATFORM_WINDOWS) @@ -165,7 +166,7 @@ namespace Nz #endif String name; - do + for (;;) { if (!m_impl->NextResult()) return false; @@ -178,7 +179,6 @@ namespace Nz if (name.Match(m_pattern)) break; } - while (true); return true; } @@ -268,7 +268,7 @@ namespace Nz if (recursive) { String path = File::NormalizePath(dirPath); - unsigned int foundPos = path.Find(NAZARA_DIRECTORY_SEPARATOR); + std::size_t foundPos = path.Find(NAZARA_DIRECTORY_SEPARATOR); if (foundPos == String::npos) return false; @@ -280,13 +280,13 @@ namespace Nz if (foundPos == String::npos) return false; - foundPos = path.Find('\\', foundPos+1); + foundPos = path.Find('\\', foundPos + 1); if (foundPos == String::npos) return false; } #endif - do + for (;;) { String p = path.SubString(0, foundPos); if (p.EndsWith(NAZARA_DIRECTORY_SEPARATOR)) @@ -298,9 +298,8 @@ namespace Nz if (foundPos == String::npos) break; - foundPos = path.Find(NAZARA_DIRECTORY_SEPARATOR, foundPos+1); + foundPos = path.Find(NAZARA_DIRECTORY_SEPARATOR, foundPos + 1); } - while (true); return true; } @@ -324,25 +323,14 @@ namespace Nz const char* Directory::GetCurrentFileRelativeToEngine(const char* currentFile) { ///FIXME: Est-ce que cette méthode est au bon endroit ? - static int offset = -1; + const char* ptr = std::strstr(currentFile, "NazaraEngine/"); + if (!ptr) + ptr = std::strstr(currentFile, "NazaraEngine\\"); - if (offset < 0) - { - const char* directoryFile = __FILE__; - const char* ptr = std::strstr(directoryFile, "NazaraEngine/src/Nazara/Core/Directory.cpp"); - if (ptr) - offset = ptr - directoryFile; - else - { - ptr = std::strstr(directoryFile, "NazaraEngine\\src\\Nazara\\Core\\Directory.cpp"); - if (ptr) - offset = ptr - directoryFile; - else - offset = 0; - } - } + if (!ptr) + ptr = currentFile; - return ¤tFile[offset]; + return ptr; } bool Directory::Remove(const String& dirPath, bool emptyDirectory) diff --git a/src/Nazara/Core/GuillotineBinPack.cpp b/src/Nazara/Core/GuillotineBinPack.cpp index 7015a5f65..b3aedccc0 100644 --- a/src/Nazara/Core/GuillotineBinPack.cpp +++ b/src/Nazara/Core/GuillotineBinPack.cpp @@ -152,9 +152,9 @@ namespace Nz { // Stores the penalty score of the best rectangle placement - bigger=worse, smaller=better. bool bestFlipped; - int bestFreeRect; - int bestRect; - int bestScore = std::numeric_limits::max(); + std::size_t bestFreeRect; + std::size_t bestRect; + std::size_t bestScore = std::numeric_limits::max(); for (std::size_t i = 0; i < m_freeRectangles.size(); ++i) { @@ -170,7 +170,7 @@ namespace Nz bestFreeRect = i; bestRect = j; bestFlipped = false; - bestScore = std::numeric_limits::min(); + bestScore = std::numeric_limits::min(); i = m_freeRectangles.size(); // Force a jump out of the outer loop as well - we got an instant fit. break; } @@ -180,7 +180,7 @@ namespace Nz bestFreeRect = i; bestRect = j; bestFlipped = true; - bestScore = std::numeric_limits::min(); + bestScore = std::numeric_limits::min(); i = m_freeRectangles.size(); // Force a jump out of the outer loop as well - we got an instant fit. break; } @@ -212,14 +212,14 @@ namespace Nz } // If we didn't manage to find any rectangle to pack, abort. - if (bestScore == std::numeric_limits::max()) + if (bestScore == std::numeric_limits::max()) { // Si nous le pouvons, on marque les rectangles n'ayant pas pu être insérés if (inserted) { for (Rectui* rect : remainingRects) { - unsigned int position = rect - rects; + std::ptrdiff_t position = rect - rects; inserted[position] = false; } } @@ -228,7 +228,7 @@ namespace Nz } // Otherwise, we're good to go and do the actual packing. - unsigned int position = remainingRects[bestRect] - rects; + std::ptrdiff_t position = remainingRects[bestRect] - rects; Rectui& rect = *remainingRects[bestRect]; rect.x = m_freeRectangles[bestFreeRect].x; rect.y = m_freeRectangles[bestFreeRect].y; diff --git a/src/Nazara/Core/Hash/CRC32.cpp b/src/Nazara/Core/Hash/CRC32.cpp index edf3ba8c2..a7d0a87dc 100644 --- a/src/Nazara/Core/Hash/CRC32.cpp +++ b/src/Nazara/Core/Hash/CRC32.cpp @@ -98,7 +98,7 @@ namespace Nz delete m_state; } - void HashCRC32::Append(const UInt8* data, unsigned int len) + void HashCRC32::Append(const UInt8* data, std::size_t len) { while (len--) m_state->crc = m_state->table[(m_state->crc ^ *data++) & 0xFF] ^ (m_state->crc >> 8); @@ -120,7 +120,7 @@ namespace Nz return ByteArray(reinterpret_cast(&m_state->crc), 4); } - unsigned int HashCRC32::GetDigestLength() const + std::size_t HashCRC32::GetDigestLength() const { return 4; } diff --git a/src/Nazara/Core/Hash/Fletcher16.cpp b/src/Nazara/Core/Hash/Fletcher16.cpp index c4ab978e8..447a7ed3b 100644 --- a/src/Nazara/Core/Hash/Fletcher16.cpp +++ b/src/Nazara/Core/Hash/Fletcher16.cpp @@ -24,11 +24,11 @@ namespace Nz delete m_state; } - void HashFletcher16::Append(const UInt8* data, unsigned int len) + void HashFletcher16::Append(const UInt8* data, std::size_t len) { while (len) { - unsigned int tlen = std::min(len, 21U); + std::size_t tlen = std::min(len, 21U); len -= tlen; do { @@ -62,7 +62,7 @@ namespace Nz return ByteArray(reinterpret_cast(&fletcher), 2); } - unsigned int HashFletcher16::GetDigestLength() const + std::size_t HashFletcher16::GetDigestLength() const { return 2; } diff --git a/src/Nazara/Core/Hash/MD5.cpp b/src/Nazara/Core/Hash/MD5.cpp index 127a1f8cb..53082d4cc 100644 --- a/src/Nazara/Core/Hash/MD5.cpp +++ b/src/Nazara/Core/Hash/MD5.cpp @@ -277,7 +277,7 @@ namespace Nz delete m_state; } - void HashMD5::Append(const UInt8* data, unsigned int len) + void HashMD5::Append(const UInt8* data, std::size_t len) { const UInt8 *p = data; int left = len; @@ -352,7 +352,7 @@ namespace Nz return ByteArray(&digest[0], 16); } - unsigned int HashMD5::GetDigestLength() const + std::size_t HashMD5::GetDigestLength() const { return 16; } diff --git a/src/Nazara/Core/Hash/SHA1.cpp b/src/Nazara/Core/Hash/SHA1.cpp index 1ed49e69c..6550d343d 100644 --- a/src/Nazara/Core/Hash/SHA1.cpp +++ b/src/Nazara/Core/Hash/SHA1.cpp @@ -18,7 +18,7 @@ namespace Nz delete m_state; } - void HashSHA1::Append(const UInt8* data, unsigned int len) + void HashSHA1::Append(const UInt8* data, std::size_t len) { SHA1_Update(m_state, data, len); } @@ -37,7 +37,7 @@ namespace Nz return ByteArray(digest, SHA1_DIGEST_LENGTH); } - unsigned int HashSHA1::GetDigestLength() const + std::size_t HashSHA1::GetDigestLength() const { return SHA1_DIGEST_LENGTH; } diff --git a/src/Nazara/Core/Hash/SHA224.cpp b/src/Nazara/Core/Hash/SHA224.cpp index 57b95e965..d071e9345 100644 --- a/src/Nazara/Core/Hash/SHA224.cpp +++ b/src/Nazara/Core/Hash/SHA224.cpp @@ -18,7 +18,7 @@ namespace Nz delete m_state; } - void HashSHA224::Append(const UInt8* data, unsigned int len) + void HashSHA224::Append(const UInt8* data, std::size_t len) { SHA224_Update(m_state, data, len); } @@ -37,7 +37,7 @@ namespace Nz return ByteArray(digest, SHA224_DIGEST_LENGTH); } - unsigned int HashSHA224::GetDigestLength() const + std::size_t HashSHA224::GetDigestLength() const { return SHA224_DIGEST_LENGTH; } diff --git a/src/Nazara/Core/Hash/SHA256.cpp b/src/Nazara/Core/Hash/SHA256.cpp index 202820594..9b5f56983 100644 --- a/src/Nazara/Core/Hash/SHA256.cpp +++ b/src/Nazara/Core/Hash/SHA256.cpp @@ -18,7 +18,7 @@ namespace Nz delete m_state; } - void HashSHA256::Append(const UInt8* data, unsigned int len) + void HashSHA256::Append(const UInt8* data, std::size_t len) { SHA256_Update(m_state, data, len); } @@ -37,7 +37,7 @@ namespace Nz return ByteArray(digest, SHA256_DIGEST_LENGTH); } - unsigned int HashSHA256::GetDigestLength() const + std::size_t HashSHA256::GetDigestLength() const { return SHA256_DIGEST_LENGTH; } diff --git a/src/Nazara/Core/Hash/SHA384.cpp b/src/Nazara/Core/Hash/SHA384.cpp index fe1498cbe..3f647260e 100644 --- a/src/Nazara/Core/Hash/SHA384.cpp +++ b/src/Nazara/Core/Hash/SHA384.cpp @@ -18,7 +18,7 @@ namespace Nz delete m_state; } - void HashSHA384::Append(const UInt8* data, unsigned int len) + void HashSHA384::Append(const UInt8* data, std::size_t len) { SHA384_Update(m_state, data, len); } @@ -37,7 +37,7 @@ namespace Nz return ByteArray(digest, SHA384_DIGEST_LENGTH); } - unsigned int HashSHA384::GetDigestLength() const + std::size_t HashSHA384::GetDigestLength() const { return SHA384_DIGEST_LENGTH; } diff --git a/src/Nazara/Core/Hash/SHA512.cpp b/src/Nazara/Core/Hash/SHA512.cpp index 562836998..af56d937a 100644 --- a/src/Nazara/Core/Hash/SHA512.cpp +++ b/src/Nazara/Core/Hash/SHA512.cpp @@ -18,7 +18,7 @@ namespace Nz delete m_state; } - void HashSHA512::Append(const UInt8* data, unsigned int len) + void HashSHA512::Append(const UInt8* data, std::size_t len) { SHA512_Update(m_state, data, len); } @@ -37,7 +37,7 @@ namespace Nz return ByteArray(digest, SHA512_DIGEST_LENGTH); } - unsigned int HashSHA512::GetDigestLength() const + std::size_t HashSHA512::GetDigestLength() const { return SHA512_DIGEST_LENGTH; } diff --git a/src/Nazara/Core/Hash/Whirlpool.cpp b/src/Nazara/Core/Hash/Whirlpool.cpp index 9be283775..c3e7380ae 100644 --- a/src/Nazara/Core/Hash/Whirlpool.cpp +++ b/src/Nazara/Core/Hash/Whirlpool.cpp @@ -866,12 +866,12 @@ namespace Nz delete m_state; } - void HashWhirlpool::Append(const UInt8* data, unsigned int len) + void HashWhirlpool::Append(const UInt8* data, std::size_t len) { - len *= 8; // Whirlpool fonctionne avec une taille en bits + len *= 8; // Whirlpool works with bits int sourcePos = 0; /* index of leftmost source UInt8 containing data (1 to 8 bits). */ - int sourceGap = (8 - (static_cast(len) & 7)) & 7; /* space on source[sourcePos]. */ + int sourceGap = (8 - (static_cast(len) & 7)) & 7; /* space on source[sourcePos]. */ int bufferRem = m_state->bufferBits & 7; /* occupied bits on buffer[bufferPos]. */ UInt32 b; @@ -1015,7 +1015,7 @@ namespace Nz return ByteArray(&result[0], 64); } - unsigned int HashWhirlpool::GetDigestLength() const + std::size_t HashWhirlpool::GetDigestLength() const { return 64; } diff --git a/src/Nazara/Core/MemoryManager.cpp b/src/Nazara/Core/MemoryManager.cpp index 9a5f5acec..db58f2299 100644 --- a/src/Nazara/Core/MemoryManager.cpp +++ b/src/Nazara/Core/MemoryManager.cpp @@ -100,7 +100,6 @@ namespace Nz std::fclose(log); throw std::bad_alloc(); - return nullptr; // Ça me rassure d'avoir un return, aussi inutile soit-il } ptr->array = multi; diff --git a/src/Nazara/Core/PrimitiveList.cpp b/src/Nazara/Core/PrimitiveList.cpp index 9c85cea55..a9d2fc6ee 100644 --- a/src/Nazara/Core/PrimitiveList.cpp +++ b/src/Nazara/Core/PrimitiveList.cpp @@ -73,37 +73,21 @@ namespace Nz m_primitives.push_back(Primitive::UVSphere(size, sliceCount, stackCount, position, rotation)); } - Primitive& PrimitiveList::GetPrimitive(unsigned int i) + Primitive& PrimitiveList::GetPrimitive(std::size_t i) { - #if NAZARA_CORE_SAFE - if (i >= m_primitives.size()) - { - NazaraError("Primitive index out of range (" + String::Number(i) + " >= " + String::Number(m_primitives.size()) + ')'); - - static Primitive dummy; - return dummy; - } - #endif + NazaraAssert(i < m_primitives.size(), "Primitive index out of range"); return m_primitives[i]; } - const Primitive& PrimitiveList::GetPrimitive(unsigned int i) const + const Primitive& PrimitiveList::GetPrimitive(std::size_t i) const { - #if NAZARA_CORE_SAFE - if (i >= m_primitives.size()) - { - NazaraError("Primitive index out of range (" + String::Number(i) + " >= " + String::Number(m_primitives.size()) + ')'); - - static Primitive dummy; - return dummy; - } - #endif + NazaraAssert(i < m_primitives.size(), "Primitive index out of range"); return m_primitives[i]; } - unsigned int PrimitiveList::GetSize() const + std::size_t PrimitiveList::GetSize() const { return m_primitives.size(); } diff --git a/src/Nazara/Core/Stream.cpp b/src/Nazara/Core/Stream.cpp index 484057341..78760ccea 100644 --- a/src/Nazara/Core/Stream.cpp +++ b/src/Nazara/Core/Stream.cpp @@ -32,7 +32,7 @@ namespace Nz char buffer[bufferSize + 1]; buffer[bufferSize] = '\0'; - unsigned int readSize; + std::size_t readSize; do { readSize = Read(buffer, bufferSize); @@ -40,7 +40,7 @@ namespace Nz const char* ptr = std::strchr(buffer, '\n'); if (ptr) { - unsigned int pos = ptr - buffer; + std::ptrdiff_t pos = ptr - buffer; if (m_streamOptions & StreamOption_Text && pos > 0 && buffer[pos - 1] == '\r') line.Append(buffer, pos - 1); @@ -60,8 +60,8 @@ namespace Nz else { line.Set(lineSize, '\0'); - unsigned int readSize = Read(&line[0], lineSize); - unsigned int pos = line.Find('\n'); + std::size_t readSize = Read(&line[0], lineSize); + std::size_t pos = line.Find('\n'); if (pos <= readSize) // Faux uniquement si le caractère n'est pas présent (npos étant le plus grand entier) { if (m_streamOptions & StreamOption_Text && pos > 0 && line[pos - 1] == '\r') diff --git a/src/Nazara/Core/String.cpp b/src/Nazara/Core/String.cpp index 33656ef95..4d63cd87f 100644 --- a/src/Nazara/Core/String.cpp +++ b/src/Nazara/Core/String.cpp @@ -24,7 +24,7 @@ namespace Nz namespace Detail { // Cet algorithme est inspiré de la documentation de Qt - inline unsigned int GetNewSize(unsigned int newSize) + inline std::size_t GetNewSize(std::size_t newSize) { if (newSize < 20) return newSize+4; @@ -57,7 +57,7 @@ namespace Nz { int ret = 0; - while (!(ret = static_cast(Detail::ToLower(*s1)) - static_cast(Detail::ToLower(*s2))) && *s2) + while (((ret = static_cast(Detail::ToLower(*s1)) - static_cast(Detail::ToLower(*s2))) != 0) && *s2) ++s1, ++s2; return ret != 0 ? (ret > 0 ? 1 : -1) : 0; @@ -69,7 +69,7 @@ namespace Nz utf8::unchecked::iterator it1(s1); utf8::unchecked::iterator it2(s2); - while (!(ret = Unicode::GetLowercase(*it1) - Unicode::GetLowercase(*it2)) && *it2) + while (((ret = Unicode::GetLowercase(*it1) - Unicode::GetLowercase(*it2)) != 0) && *it2) ++it1, ++it2; return ret != 0 ? (ret > 0 ? 1 : -1) : 0; @@ -92,7 +92,7 @@ namespace Nz m_sharedString = GetEmptyString(); } - String::String(unsigned int rep, char character) + String::String(std::size_t rep, char character) { if (rep > 0) { @@ -105,27 +105,27 @@ namespace Nz m_sharedString = GetEmptyString(); } - String::String(unsigned int rep, const char* string) : + String::String(std::size_t rep, const char* string) : String(rep, string, (string) ? std::strlen(string) : 0) { } - String::String(unsigned int rep, const char* string, unsigned int length) + String::String(std::size_t rep, const char* string, std::size_t length) { - unsigned int totalSize = rep*length; + std::size_t totalSize = rep*length; if (totalSize > 0) { m_sharedString = std::make_shared(totalSize); - for (unsigned int i = 0; i < rep; ++i) + for (std::size_t i = 0; i < rep; ++i) std::memcpy(&m_sharedString->string[i*length], string, length); } else m_sharedString = GetEmptyString(); } - String::String(unsigned int rep, const String& string) : + String::String(std::size_t rep, const String& string) : String(rep, string.GetConstBuffer(), string.GetSize()) { } @@ -135,7 +135,7 @@ namespace Nz { } - String::String(const char* string, unsigned int length) + String::String(const char* string, std::size_t length) { if (length > 0) { @@ -161,7 +161,7 @@ namespace Nz return Insert(m_sharedString->size, string); } - String& String::Append(const char* string, unsigned int length) + String& String::Append(const char* string, std::size_t length) { return Insert(m_sharedString->size, string, length); } @@ -183,30 +183,30 @@ namespace Nz ReleaseString(); } - bool String::Contains(char character, int start, UInt32 flags) const + bool String::Contains(char character, std::intmax_t start, UInt32 flags) const { return Find(character, start, flags) != npos; } - bool String::Contains(const char* string, int start, UInt32 flags) const + bool String::Contains(const char* string, std::intmax_t start, UInt32 flags) const { return Find(string, start, flags) != npos; } - bool String::Contains(const String& string, int start, UInt32 flags) const + bool String::Contains(const String& string, std::intmax_t start, UInt32 flags) const { return Find(string, start, flags) != npos; } - unsigned int String::Count(char character, int start, UInt32 flags) const + unsigned int String::Count(char character, std::intmax_t start, UInt32 flags) const { if (character == '\0' || m_sharedString->size == 0) return 0; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return 0; @@ -225,7 +225,7 @@ namespace Nz } else { - while ((str = std::strchr(str, character))) + while ((str = std::strchr(str, character)) != nullptr) { count++; str++; @@ -235,15 +235,15 @@ namespace Nz return count; } - unsigned int String::Count(const char* string, int start, UInt32 flags) const + unsigned int String::Count(const char* string, std::intmax_t start, UInt32 flags) const { if (!string || !string[0] || m_sharedString->size == 0) return 0; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return 0; @@ -267,7 +267,7 @@ namespace Nz ++it; utf8::unchecked::iterator it2(t); - while (true) + for (;;) { if (*it2 == '\0') { @@ -298,7 +298,7 @@ namespace Nz str++; const char* ptr = &string[1]; - while (true) + for (;;) { if (*ptr == '\0') { @@ -322,7 +322,7 @@ namespace Nz } else { - while ((str = std::strstr(str, string))) + while ((str = std::strstr(str, string)) != nullptr) { count++; str++; @@ -332,20 +332,20 @@ namespace Nz return count; } - unsigned int String::Count(const String& string, int start, UInt32 flags) const + unsigned int String::Count(const String& string, std::intmax_t start, UInt32 flags) const { return Count(string.GetConstBuffer(), start, flags); } - unsigned int String::CountAny(const char* string, int start, UInt32 flags) const + unsigned int String::CountAny(const char* string, std::intmax_t start, UInt32 flags) const { if (!string || !string[0] || m_sharedString->size == 0) return 0; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return 0; @@ -414,7 +414,7 @@ namespace Nz } else { - while ((str = std::strpbrk(str, string))) + while ((str = std::strpbrk(str, string)) != nullptr) { count++; str++; @@ -425,7 +425,7 @@ namespace Nz return count; } - unsigned int String::CountAny(const String& string, int start, UInt32 flags) const + unsigned int String::CountAny(const String& string, std::intmax_t start, UInt32 flags) const { return CountAny(string.GetConstBuffer(), start, flags); } @@ -446,7 +446,7 @@ namespace Nz return EndsWith(string, std::strlen(string), flags); } - bool String::EndsWith(const char* string, unsigned int length, UInt32 flags) const + bool String::EndsWith(const char* string, std::size_t length, UInt32 flags) const { if (!string || !string[0] || m_sharedString->size == 0 || length > m_sharedString->size) return false; @@ -467,15 +467,15 @@ namespace Nz return EndsWith(string.GetConstBuffer(), string.m_sharedString->size, flags); } - unsigned int String::Find(char character, int start, UInt32 flags) const + std::size_t String::Find(char character, std::intmax_t start, UInt32 flags) const { if (character == '\0' || m_sharedString->size == 0) return npos; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -486,7 +486,7 @@ namespace Nz do { if (Detail::ToLower(*str) == ch) - return static_cast(str - m_sharedString->string.get()); + return str - m_sharedString->string.get(); } while (*++str); @@ -496,21 +496,21 @@ namespace Nz { char* ch = std::strchr(&m_sharedString->string[pos], character); if (ch) - return static_cast(ch - m_sharedString->string.get()); + return ch - m_sharedString->string.get(); else return npos; } } - unsigned int String::Find(const char* string, int start, UInt32 flags) const + std::size_t String::Find(const char* string, std::intmax_t start, UInt32 flags) const { if (!string || !string[0] || m_sharedString->size == 0) return npos; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -534,10 +534,10 @@ namespace Nz ++it; utf8::unchecked::iterator it2(t); - while (true) + for (;;) { if (*it2 == '\0') - return static_cast(ptrPos - m_sharedString->string.get()); + return ptrPos - m_sharedString->string.get(); if (*it == '\0') return npos; @@ -563,10 +563,10 @@ namespace Nz str++; const char* ptr = &string[1]; - while (true) + for (;;) { if (*ptr == '\0') - return static_cast(ptrPos - m_sharedString->string.get()); + return ptrPos - m_sharedString->string.get(); if (*str == '\0') return npos; @@ -586,26 +586,26 @@ namespace Nz { char* ch = std::strstr(&m_sharedString->string[pos], string); if (ch) - return static_cast(ch - m_sharedString->string.get()); + return ch - m_sharedString->string.get(); } return npos; } - unsigned int String::Find(const String& string, int start, UInt32 flags) const + std::size_t String::Find(const String& string, std::intmax_t start, UInt32 flags) const { return Find(string.GetConstBuffer(), start, flags); } - unsigned int String::FindAny(const char* string, int start, UInt32 flags) const + std::size_t String::FindAny(const char* string, std::intmax_t start, UInt32 flags) const { if (m_sharedString->size == 0 || !string || !string[0]) return npos; if (start < 0) - start = std::max(m_sharedString->size+start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -675,20 +675,20 @@ namespace Nz return npos; } - unsigned int String::FindAny(const String& string, int start, UInt32 flags) const + std::size_t String::FindAny(const String& string, std::intmax_t start, UInt32 flags) const { return FindAny(string.GetConstBuffer(), start, flags); } - unsigned int String::FindLast(char character, int start, UInt32 flags) const + std::size_t String::FindLast(char character, std::intmax_t start, UInt32 flags) const { if (character == '\0' || m_sharedString->size == 0) return npos; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -700,7 +700,7 @@ namespace Nz do { if (Detail::ToLower(*ptr) == character) - return static_cast(ptr - m_sharedString->string.get()); + return ptr - m_sharedString->string.get(); } while (ptr-- != m_sharedString->string.get()); } @@ -709,7 +709,7 @@ namespace Nz do { if (*ptr == character) - return static_cast(ptr - m_sharedString->string.get()); + return ptr - m_sharedString->string.get(); } while (ptr-- != m_sharedString->string.get()); } @@ -717,15 +717,15 @@ namespace Nz return npos; } - unsigned int String::FindLast(const char* string, int start, UInt32 flags) const + std::size_t String::FindLast(const char* string, std::intmax_t start, UInt32 flags) const { if (!string || !string[0] || m_sharedString->size == 0) return npos; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -749,7 +749,7 @@ namespace Nz utf8::unchecked::iterator tIt(it); ++tIt; - while (true) + for (;;) { if (*it2 == '\0') return it.base() - m_sharedString->string.get(); @@ -776,7 +776,7 @@ namespace Nz { const char* p = &string[1]; const char* tPtr = ptr+1; - while (true) + for (;;) { if (*p == '\0') return ptr - m_sharedString->string.get(); @@ -803,7 +803,7 @@ namespace Nz { const char* p = &string[1]; const char* tPtr = ptr+1; - while (true) + for (;;) { if (*p == '\0') return ptr - m_sharedString->string.get(); @@ -825,15 +825,15 @@ namespace Nz return npos; } - unsigned int String::FindLast(const String& string, int start, UInt32 flags) const + std::size_t String::FindLast(const String& string, std::intmax_t start, UInt32 flags) const { if (string.m_sharedString->size == 0 || string.m_sharedString->size > m_sharedString->size) return npos; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size || string.m_sharedString->size > m_sharedString->size) return npos; @@ -859,7 +859,7 @@ namespace Nz utf8::unchecked::iterator tIt(it); ++tIt; - while (true) + for (;;) { if (*it2 == '\0') return it.base() - m_sharedString->string.get(); @@ -881,7 +881,7 @@ namespace Nz { ///Algo 1.FindLast#4 (Taille du pattern connue) char c = Detail::ToLower(string.m_sharedString->string[string.m_sharedString->size-1]); - while (true) + for (;;) { if (Detail::ToLower(*ptr) == c) { @@ -906,7 +906,7 @@ namespace Nz else { ///Algo 1.FindLast#4 (Taille du pattern connue) - while (true) + for (;;) { if (*ptr == string.m_sharedString->string[string.m_sharedString->size-1]) { @@ -931,15 +931,15 @@ namespace Nz return npos; } - unsigned int String::FindLastAny(const char* string, int start, UInt32 flags) const + std::size_t String::FindLastAny(const char* string, std::intmax_t start, UInt32 flags) const { if (!string || !string[0] || m_sharedString->size == 0) return npos; if (start < 0) - start = std::max(m_sharedString->size+start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -1017,20 +1017,20 @@ namespace Nz return npos; } - unsigned int String::FindLastAny(const String& string, int start, UInt32 flags) const + std::size_t String::FindLastAny(const String& string, std::intmax_t start, UInt32 flags) const { return FindLastAny(string.GetConstBuffer(), start, flags); } - unsigned int String::FindLastWord(const char* string, int start, UInt32 flags) const + std::size_t String::FindLastWord(const char* string, std::intmax_t start, UInt32 flags) const { if (!string || !string[0] || m_sharedString->size == 0) return npos; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -1063,7 +1063,7 @@ namespace Nz utf8::unchecked::iterator tIt = it; ++tIt; - while (true) + for (;;) { if (*p == '\0') { @@ -1105,7 +1105,7 @@ namespace Nz utf8::unchecked::iterator tIt = it; ++tIt; - while (true) + for (;;) { if (*p == '\0') { @@ -1143,7 +1143,7 @@ namespace Nz const char* p = &string[1]; const char* tPtr = ptr+1; - while (true) + for (;;) { if (*p == '\0') { @@ -1177,7 +1177,7 @@ namespace Nz const char* p = &string[1]; const char* tPtr = ptr+1; - while (true) + for (;;) { if (*p == '\0') { @@ -1205,15 +1205,15 @@ namespace Nz return npos; } - unsigned int String::FindLastWord(const String& string, int start, UInt32 flags) const + std::size_t String::FindLastWord(const String& string, std::intmax_t start, UInt32 flags) const { if (string.m_sharedString->size == 0 || string.m_sharedString->size > m_sharedString->size) return npos; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -1246,7 +1246,7 @@ namespace Nz utf8::unchecked::iterator tIt = it; ++tIt; - while (true) + for (;;) { if (*p == '\0') { @@ -1288,7 +1288,7 @@ namespace Nz utf8::unchecked::iterator tIt = it; ++tIt; - while (true) + for (;;) { if (*p == '\0') { @@ -1381,15 +1381,15 @@ namespace Nz return npos; } - unsigned int String::FindWord(const char* string, int start, UInt32 flags) const + std::size_t String::FindWord(const char* string, std::intmax_t start, UInt32 flags) const { if (!string || !string[0] || m_sharedString->size == 0) return npos; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -1422,7 +1422,7 @@ namespace Nz utf8::unchecked::iterator tIt = it; ++tIt; - while (true) + for (;;) { if (*p == '\0') { @@ -1462,7 +1462,7 @@ namespace Nz utf8::unchecked::iterator tIt = it; ++tIt; - while (true) + for (;;) { if (*p == '\0') { @@ -1497,7 +1497,7 @@ namespace Nz const char* p = &string[1]; const char* tPtr = ptr+1; - while (true) + for (;;) { if (*p == '\0') { @@ -1528,7 +1528,7 @@ namespace Nz const char* p = &string[1]; const char* tPtr = ptr+1; - while (true) + for (;;) { if (*p == '\0') { @@ -1553,15 +1553,15 @@ namespace Nz return npos; } - unsigned int String::FindWord(const String& string, int start, UInt32 flags) const + std::size_t String::FindWord(const String& string, std::intmax_t start, UInt32 flags) const { if (string.m_sharedString->size == 0 || string.m_sharedString->size > m_sharedString->size) return npos; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -1594,7 +1594,7 @@ namespace Nz utf8::unchecked::iterator tIt = it; ++tIt; - while (true) + for (;;) { if (*p == '\0') { @@ -1634,7 +1634,7 @@ namespace Nz utf8::unchecked::iterator tIt = it; ++tIt; - while (true) + for (;;) { if (*p == '\0') { @@ -1670,7 +1670,7 @@ namespace Nz const char* p = &string.m_sharedString->string[1]; const char* tPtr = ptr+1; - while (true) + for (;;) { if (*p == '\0') { @@ -1692,7 +1692,7 @@ namespace Nz } else { - while ((ptr = std::strstr(ptr, string.GetConstBuffer()))) + while ((ptr = std::strstr(ptr, string.GetConstBuffer())) != nullptr) { // Si le mot est bien isolé if ((ptr == m_sharedString->string.get() || std::isspace(*(ptr-1))) && (*(ptr+m_sharedString->size) == '\0' || std::isspace(*(ptr+m_sharedString->size)))) @@ -1713,7 +1713,7 @@ namespace Nz return m_sharedString->string.get(); } - unsigned int String::GetCapacity() const + std::size_t String::GetCapacity() const { return m_sharedString->capacity; } @@ -1723,12 +1723,12 @@ namespace Nz return m_sharedString->string.get(); } - unsigned int String::GetLength() const + std::size_t String::GetLength() const { return utf8::distance(m_sharedString->string.get(), &m_sharedString->string[m_sharedString->size]); } - unsigned int String::GetSize() const + std::size_t String::GetSize() const { return m_sharedString->size; } @@ -1794,11 +1794,11 @@ namespace Nz String String::GetWord(unsigned int index, UInt32 flags) const { - unsigned int startPos = GetWordPosition(index, flags); + std::size_t startPos = GetWordPosition(index, flags); if (startPos == npos) return String(); - int endPos = -1; + std::intmax_t endPos = -1; const char* ptr = &m_sharedString->string[startPos]; if (flags & HandleUtf8) { @@ -1807,7 +1807,7 @@ namespace Nz { if (Unicode::GetCategory(*it) & Unicode::Category_Separator) { - endPos = static_cast(it.base() - m_sharedString->string.get() - 1); + endPos = static_cast(it.base() - m_sharedString->string.get() - 1); break; } } @@ -1819,7 +1819,7 @@ namespace Nz { if (std::isspace(*ptr)) { - endPos = static_cast(ptr - m_sharedString->string.get() - 1); + endPos = static_cast(ptr - m_sharedString->string.get() - 1); break; } } @@ -1829,7 +1829,7 @@ namespace Nz return SubString(startPos, endPos); } - unsigned int String::GetWordPosition(unsigned int index, UInt32 flags) const + std::size_t String::GetWordPosition(unsigned int index, UInt32 flags) const { if (m_sharedString->size == 0) return npos; @@ -1851,7 +1851,7 @@ namespace Nz { inWord = true; if (++currentWord > index) - return static_cast(it.base() - m_sharedString->string.get()); + return it.base() - m_sharedString->string.get(); } } } @@ -1879,25 +1879,25 @@ namespace Nz return npos; } - String& String::Insert(int pos, char character) + String& String::Insert(std::intmax_t pos, char character) { return Insert(pos, &character, 1); } - String& String::Insert(int pos, const char* string) + String& String::Insert(std::intmax_t pos, const char* string) { return Insert(pos, string, std::strlen(string)); } - String& String::Insert(int pos, const char* string, unsigned int length) + String& String::Insert(std::intmax_t pos, const char* string, std::size_t length) { if (length == 0) return *this; if (pos < 0) - pos = std::max(m_sharedString->size + pos, 0U); + pos = std::max(m_sharedString->size + pos, 0); - unsigned int start = std::min(static_cast(pos), m_sharedString->size); + std::size_t start = std::min(pos, m_sharedString->size); // Si le buffer est déjà suffisamment grand if (m_sharedString->capacity >= m_sharedString->size + length) @@ -1934,7 +1934,7 @@ namespace Nz return *this; } - String& String::Insert(int pos, const String& string) + String& String::Insert(std::intmax_t pos, const String& string) { return Insert(pos, string.GetConstBuffer(), string.m_sharedString->size); } @@ -2073,7 +2073,7 @@ namespace Nz return Insert(0, string); } - String& String::Prepend(const char* string, unsigned int length) + String& String::Prepend(const char* string, std::size_t length) { return Insert(0, string, length); } @@ -2083,7 +2083,7 @@ namespace Nz return Insert(0, string); } - unsigned int String::Replace(char oldCharacter, char newCharacter, int start, UInt32 flags) + unsigned int String::Replace(char oldCharacter, char newCharacter, std::intmax_t start, UInt32 flags) { if (oldCharacter == '\0' || oldCharacter == newCharacter) return 0; @@ -2092,9 +2092,9 @@ namespace Nz return Replace(String(oldCharacter), String(), start); if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -2111,7 +2111,7 @@ namespace Nz { if (!found) { - unsigned int offset = ptr-m_sharedString->string.get(); + std::ptrdiff_t offset = ptr - m_sharedString->string.get(); EnsureOwnership(); @@ -2127,11 +2127,11 @@ namespace Nz } else { - while ((ptr = std::strchr(ptr, oldCharacter))) + while ((ptr = std::strchr(ptr, oldCharacter)) != nullptr) { if (!found) { - unsigned int offset = ptr-m_sharedString->string.get(); + std::ptrdiff_t offset = ptr-m_sharedString->string.get(); EnsureOwnership(); @@ -2147,20 +2147,20 @@ namespace Nz return count; } - unsigned int String::Replace(const char* oldString, const char* replaceString, int start, UInt32 flags) + unsigned int String::Replace(const char* oldString, const char* replaceString, std::intmax_t start, UInt32 flags) { return Replace(oldString, std::strlen(oldString), replaceString, std::strlen(replaceString), start, flags); } - unsigned int String::Replace(const char* oldString, unsigned int oldLength, const char* replaceString, unsigned int replaceLength, int start, UInt32 flags) + unsigned int String::Replace(const char* oldString, std::size_t oldLength, const char* replaceString, std::size_t replaceLength, std::intmax_t start, UInt32 flags) { if (oldLength == 0) return 0; if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return 0; @@ -2186,7 +2186,7 @@ namespace Nz } else ///TODO: Algorithme de remplacement sans changement de buffer (si replaceLength < oldLength) { - unsigned int newSize = m_sharedString->size + Count(oldString)*(replaceLength - oldLength); + std::size_t newSize = m_sharedString->size + Count(oldString)*(replaceLength - oldLength); if (newSize == m_sharedString->size) // Alors c'est que Count(oldString) == 0 return 0; @@ -2218,12 +2218,12 @@ namespace Nz return count; } - unsigned int String::Replace(const String& oldString, const String& replaceString, int start, UInt32 flags) + unsigned int String::Replace(const String& oldString, const String& replaceString, std::intmax_t start, UInt32 flags) { return Replace(oldString.GetConstBuffer(), oldString.m_sharedString->size, replaceString.GetConstBuffer(), replaceString.m_sharedString->size, start, flags); } - unsigned int String::ReplaceAny(const char* oldCharacters, char replaceCharacter, int start, UInt32 flags) + unsigned int String::ReplaceAny(const char* oldCharacters, char replaceCharacter, std::intmax_t start, UInt32 flags) { ///FIXME: Ne gère pas l'UTF-8 if (!oldCharacters || !oldCharacters[0]) @@ -2233,9 +2233,9 @@ namespace Nz return ReplaceAny(String(oldCharacters), String(), start);*/ if (start < 0) - start = std::max(m_sharedString->size + start, 0U); + start = std::max(m_sharedString->size + start, 0); - unsigned int pos = static_cast(start); + std::size_t pos = static_cast(start); if (pos >= m_sharedString->size) return npos; @@ -2254,7 +2254,7 @@ namespace Nz { if (!found) { - unsigned int offset = ptr-m_sharedString->string.get(); + std::ptrdiff_t offset = ptr - m_sharedString->string.get(); EnsureOwnership(); @@ -2274,11 +2274,11 @@ namespace Nz else { bool found = false; - while ((ptr = std::strpbrk(ptr, oldCharacters))) + while ((ptr = std::strpbrk(ptr, oldCharacters)) != nullptr) { if (!found) { - unsigned int offset = ptr-m_sharedString->string.get(); + std::ptrdiff_t offset = ptr - m_sharedString->string.get(); EnsureOwnership(); @@ -2294,7 +2294,7 @@ namespace Nz return count; } /* - unsigned int String::ReplaceAny(const char* oldCharacters, const char* replaceString, int start, UInt32 flags) + unsigned int String::ReplaceAny(const char* oldCharacters, const char* replaceString, std::intmax_t start, UInt32 flags) { if (start < 0) { @@ -2375,7 +2375,7 @@ namespace Nz return count; } - unsigned int String::ReplaceAny(const String& oldCharacters, const String& replaceString, int start, UInt32 flags) + unsigned int String::ReplaceAny(const String& oldCharacters, const String& replaceString, std::intmax_t start, UInt32 flags) { if (start < 0) { @@ -2454,7 +2454,8 @@ namespace Nz return count; } */ - void String::Reserve(unsigned int bufferSize) + + void String::Reserve(std::size_t bufferSize) { if (m_sharedString->capacity > bufferSize) return; @@ -2468,7 +2469,7 @@ namespace Nz m_sharedString = std::move(newString); } - String& String::Resize(int size, char character) + String& String::Resize(std::intmax_t size, char character) { if (size == 0) { @@ -2477,10 +2478,9 @@ namespace Nz } if (size < 0) - size = std::max(m_sharedString->size + size, 0U); - - unsigned int newSize = static_cast(size); + size = std::max(m_sharedString->size + size, 0); + std::size_t newSize = static_cast(size); if (m_sharedString->capacity >= newSize) { EnsureOwnership(); @@ -2506,7 +2506,7 @@ namespace Nz return *this; } - String String::Resized(int size, char character) const + String String::Resized(std::intmax_t size, char character) const { if (size < 0) size = m_sharedString->size + size; @@ -2514,7 +2514,7 @@ namespace Nz if (size <= 0) return String(); - unsigned int newSize = static_cast(size); + std::size_t newSize = static_cast(size); if (newSize == m_sharedString->size) return *this; @@ -2535,8 +2535,8 @@ namespace Nz { if (m_sharedString->size != 0) { - unsigned int i = 0; - unsigned int j = m_sharedString->size-1; + std::size_t i = 0; + std::size_t j = m_sharedString->size-1; while (i < j) std::swap(m_sharedString->string[i++], m_sharedString->string[j--]); @@ -2586,7 +2586,7 @@ namespace Nz return *this; } - String& String::Set(unsigned int rep, char character) + String& String::Set(std::size_t rep, char character) { if (rep > 0) { @@ -2609,14 +2609,14 @@ namespace Nz return *this; } - String& String::Set(unsigned int rep, const char* string) + String& String::Set(std::size_t rep, const char* string) { return Set(rep, string, (string) ? std::strlen(string) : 0); } - String& String::Set(unsigned int rep, const char* string, unsigned int length) + String& String::Set(std::size_t rep, const char* string, std::size_t length) { - unsigned int totalSize = rep*length; + std::size_t totalSize = rep*length; if (totalSize > 0) { @@ -2630,7 +2630,7 @@ namespace Nz else m_sharedString = std::make_shared(totalSize); - for (unsigned int i = 0; i < rep; ++i) + for (std::size_t i = 0; i < rep; ++i) std::memcpy(&m_sharedString->string[i*length], string, length); } else @@ -2639,7 +2639,7 @@ namespace Nz return *this; } - String& String::Set(unsigned int rep, const String& string) + String& String::Set(std::size_t rep, const String& string) { return Set(rep, string.GetConstBuffer(), string.m_sharedString->size); } @@ -2649,7 +2649,7 @@ namespace Nz return Set(string, (string) ? std::strlen(string) : 0); } - String& String::Set(const char* string, unsigned int length) + String& String::Set(const char* string, std::size_t length) { if (length > 0) { @@ -2757,12 +2757,12 @@ namespace Nz return Set(Simplified(flags)); } - unsigned int String::Split(std::vector& result, char separation, int start, UInt32 flags) const + unsigned int String::Split(std::vector& result, char separation, std::intmax_t start, UInt32 flags) const { if (separation == '\0' || m_sharedString->size == 0) return 0; - unsigned int lastSep = Find(separation, start, flags); + std::size_t lastSep = Find(separation, start, flags); if (lastSep == npos) { result.push_back(*this); @@ -2771,9 +2771,9 @@ namespace Nz else if (lastSep != 0) result.push_back(SubString(0, lastSep-1)); - while (true) + for (;;) { - unsigned int sep = Find(separation, lastSep+1, flags); + std::size_t sep = Find(separation, lastSep+1, flags); if (sep == npos) break; @@ -2789,19 +2789,19 @@ namespace Nz return result.size(); } - unsigned int String::Split(std::vector& result, const char* separation, int start, UInt32 flags) const + unsigned int String::Split(std::vector& result, const char* separation, std::intmax_t start, UInt32 flags) const { return Split(result, separation, std::strlen(separation), start, flags); } - unsigned int String::Split(std::vector& result, const char* separation, unsigned int length, int start, UInt32 flags) const + unsigned int String::Split(std::vector& result, const char* separation, std::size_t length, std::intmax_t start, UInt32 flags) const { if (m_sharedString->size == 0) return 0; else if (length == 0) { result.reserve(m_sharedString->size); - for (unsigned int i = 0; i < m_sharedString->size; ++i) + for (std::size_t i = 0; i < m_sharedString->size; ++i) result.push_back(String(m_sharedString->string[i])); return m_sharedString->size; @@ -2812,8 +2812,8 @@ namespace Nz return 1; } - unsigned int lastSep = Find(separation, start, flags); - unsigned int oldSize = result.size(); + std::size_t lastSep = Find(separation, start, flags); + std::size_t oldSize = result.size(); if (lastSep == npos) { result.push_back(*this); @@ -2822,7 +2822,7 @@ namespace Nz else if (lastSep != 0) result.push_back(SubString(0, lastSep-1)); - unsigned int sep; + std::size_t sep; while ((sep = Find(separation, lastSep + length, flags)) != npos) { if (sep-lastSep > length) @@ -2837,19 +2837,19 @@ namespace Nz return result.size()-oldSize; } - unsigned int String::Split(std::vector& result, const String& separation, int start, UInt32 flags) const + unsigned int String::Split(std::vector& result, const String& separation, std::intmax_t start, UInt32 flags) const { return Split(result, separation.m_sharedString->string.get(), separation.m_sharedString->size, start, flags); } - unsigned int String::SplitAny(std::vector& result, const char* separations, int start, UInt32 flags) const + unsigned int String::SplitAny(std::vector& result, const char* separations, std::intmax_t start, UInt32 flags) const { if (m_sharedString->size == 0) return 0; - unsigned int oldSize = result.size(); + std::size_t oldSize = result.size(); - unsigned int lastSep = FindAny(separations, start, flags); + std::size_t lastSep = FindAny(separations, start, flags); if (lastSep == npos) { result.push_back(*this); @@ -2858,7 +2858,7 @@ namespace Nz else if (lastSep != 0) result.push_back(SubString(0, lastSep-1)); - unsigned int sep; + std::size_t sep; while ((sep = FindAny(separations, lastSep+1, flags)) != npos) { if (sep-lastSep > 1) @@ -2873,7 +2873,7 @@ namespace Nz return result.size()-oldSize; } - unsigned int String::SplitAny(std::vector& result, const String& separations, int start, UInt32 flags) const + unsigned int String::SplitAny(std::vector& result, const String& separations, std::intmax_t start, UInt32 flags) const { return SplitAny(result, separations.m_sharedString->string.get(), start, flags); } @@ -2998,12 +2998,12 @@ namespace Nz return false; } - String String::SubString(int startPos, int endPos) const + String String::SubString(std::intmax_t startPos, std::intmax_t endPos) const { if (startPos < 0) - startPos = std::max(m_sharedString->size+startPos, 0U); + startPos = std::max(m_sharedString->size + startPos, 0); - unsigned int start = static_cast(startPos); + std::size_t start = static_cast(startPos); if (endPos < 0) { @@ -3012,12 +3012,11 @@ namespace Nz return String(); } - unsigned int minEnd = std::min(static_cast(endPos), m_sharedString->size-1); - + std::size_t minEnd = std::min(static_cast(endPos), m_sharedString->size - 1); if (start > minEnd || start >= m_sharedString->size) return String(); - unsigned int size = minEnd-start+1; + std::size_t size = minEnd - start + 1; auto str = std::make_shared(size); std::memcpy(str->string.get(), &m_sharedString->string[start], size); @@ -3025,12 +3024,12 @@ namespace Nz return String(std::move(str)); } - String String::SubStringFrom(char character, int startPos, bool fromLast, bool include, UInt32 flags) const + String String::SubStringFrom(char character, std::intmax_t startPos, bool fromLast, bool include, UInt32 flags) const { if (character == '\0') return *this; - unsigned int pos; + std::size_t pos; if (fromLast) pos = FindLast(character, startPos, flags); else @@ -3044,14 +3043,14 @@ namespace Nz return SubString(pos + ((include) ? 0 : 1)); } - String String::SubStringFrom(const char* string, int startPos, bool fromLast, bool include, UInt32 flags) const + String String::SubStringFrom(const char* string, std::intmax_t startPos, bool fromLast, bool include, UInt32 flags) const { return SubStringFrom(string, std::strlen(string), startPos, fromLast, include, flags); } - String String::SubStringFrom(const char* string, unsigned int length, int startPos, bool fromLast, bool include, UInt32 flags) const + String String::SubStringFrom(const char* string, std::size_t length, std::intmax_t startPos, bool fromLast, bool include, UInt32 flags) const { - unsigned int pos; + std::size_t pos; if (fromLast) pos = FindLast(string, startPos, flags); else @@ -3065,17 +3064,17 @@ namespace Nz return SubString(pos + ((include) ? 0 : length)); } - String String::SubStringFrom(const String& string, int startPos, bool fromLast, bool include, UInt32 flags) const + String String::SubStringFrom(const String& string, std::intmax_t startPos, bool fromLast, bool include, UInt32 flags) const { return SubStringFrom(string.GetConstBuffer(), string.m_sharedString->size, startPos, fromLast, include, flags); } - String String::SubStringTo(char character, int startPos, bool toLast, bool include, UInt32 flags) const + String String::SubStringTo(char character, std::intmax_t startPos, bool toLast, bool include, UInt32 flags) const { if (character == '\0') return *this; - unsigned int pos; + std::size_t pos; if (toLast) pos = FindLast(character, startPos); else @@ -3089,14 +3088,14 @@ namespace Nz return SubString(0, pos+((include) ? 1 : 0)-1); } - String String::SubStringTo(const char* string, int startPos, bool toLast, bool include, UInt32 flags) const + String String::SubStringTo(const char* string, std::intmax_t startPos, bool toLast, bool include, UInt32 flags) const { return SubStringTo(string, std::strlen(string), startPos, toLast, include, flags); } - String String::SubStringTo(const char* string, unsigned int length, int startPos, bool toLast, bool include, UInt32 flags) const + String String::SubStringTo(const char* string, std::size_t length, std::intmax_t startPos, bool toLast, bool include, UInt32 flags) const { - unsigned int pos; + std::size_t pos; if (toLast) pos = FindLast(string, startPos, flags); else @@ -3110,7 +3109,7 @@ namespace Nz return SubString(0, pos+((include) ? length : 0)-1); } - String String::SubStringTo(const String& string, int startPos, bool toLast, bool include, UInt32 flags) const + String String::SubStringTo(const String& string, std::intmax_t startPos, bool toLast, bool include, UInt32 flags) const { return SubStringTo(string.GetConstBuffer(), string.m_sharedString->size, startPos, toLast, include, flags); } @@ -3262,8 +3261,8 @@ namespace Nz if (m_sharedString->size == 0) return *this; - unsigned int startPos; - unsigned int endPos; + std::size_t startPos; + std::size_t endPos; if (flags & HandleUtf8) { if ((flags & TrimOnlyRight) == 0) @@ -3326,8 +3325,8 @@ namespace Nz if (m_sharedString->size == 0) return *this; - unsigned int startPos = 0; - unsigned int endPos = m_sharedString->size-1; + std::size_t startPos = 0; + std::size_t endPos = m_sharedString->size-1; if (flags & CaseInsensitive) { char ch = Detail::ToLower(character); @@ -3429,7 +3428,7 @@ namespace Nz return std::string(m_sharedString->string.get(), m_sharedString->size); } - char& String::operator[](unsigned int pos) + char& String::operator[](std::size_t pos) { EnsureOwnership(); @@ -3439,7 +3438,7 @@ namespace Nz return m_sharedString->string[pos]; } - char String::operator[](unsigned int pos) const + char String::operator[](std::size_t pos) const { #if NAZARA_CORE_SAFE if (pos >= m_sharedString->size) @@ -3497,7 +3496,7 @@ namespace Nz if (m_sharedString->size == 0) return string; - unsigned int length = std::strlen(string); + std::size_t length = std::strlen(string); if (length == 0) return *this; @@ -3761,7 +3760,7 @@ namespace Nz String String::Boolean(bool boolean) { - unsigned int size = (boolean) ? 4 : 5; + std::size_t size = (boolean) ? 4 : 5; auto str = std::make_shared(size); std::memcpy(str->string.get(), (boolean) ? "true" : "false", size); @@ -3859,7 +3858,7 @@ namespace Nz String String::Pointer(const void* ptr) { - const unsigned int capacity = sizeof(void*)*2 + 2; + const std::size_t capacity = sizeof(void*)*2 + 2; auto str = std::make_shared(capacity); str->size = std::sprintf(str->string.get(), "0x%p", ptr); @@ -3872,7 +3871,7 @@ namespace Nz if (character == '\0') return String(); - unsigned int count = 0; + std::size_t count = 0; if (character < 0x80) count = 1; else if (character < 0x800) @@ -3899,7 +3898,7 @@ namespace Nz return String(); const char16_t* ptr = u16String; - unsigned int count = 0; + std::size_t count = 0; do count++; while (*++ptr); @@ -3922,7 +3921,7 @@ namespace Nz return String(); const char32_t* ptr = u32String; - unsigned int count = 0; + std::size_t count = 0; do { char32_t cp = *ptr; @@ -3949,7 +3948,7 @@ namespace Nz return String(); const wchar_t* ptr = wString; - unsigned int count = 0; + std::size_t count = 0; do { char32_t cp = *ptr; @@ -3975,7 +3974,7 @@ namespace Nz str.Clear(); char c; - do + for (;;) { is.get(c); if (c == '\0') @@ -3990,7 +3989,6 @@ namespace Nz else str += c; } - while (true); return is; } @@ -4026,8 +4024,8 @@ namespace Nz if (nstring.IsEmpty()) return string; - unsigned int size = std::strlen(string); - unsigned int totalSize = size + nstring.m_sharedString->size; + std::size_t size = std::strlen(string); + std::size_t totalSize = size + nstring.m_sharedString->size; auto str = std::make_shared(totalSize); std::memcpy(str->string.get(), string, size); @@ -4044,7 +4042,7 @@ namespace Nz if (nstring.m_sharedString->size == 0) return string; - unsigned int totalSize = string.size() + nstring.m_sharedString->size; + std::size_t totalSize = string.size() + nstring.m_sharedString->size; auto str = std::make_shared(totalSize); std::memcpy(str->string.get(), string.c_str(), string.size()); @@ -4227,7 +4225,7 @@ namespace Nz return context.stream->Read(string->GetBuffer(), size) == size; } - const unsigned int String::npos(std::numeric_limits::max()); + const std::size_t String::npos(std::numeric_limits::max()); } namespace std @@ -4237,7 +4235,8 @@ namespace std str.Clear(); char c; - do + + for (;;) { is.get(c); if (c != '\n' && c != '\0') @@ -4245,7 +4244,6 @@ namespace std else break; } - while (true); return is; } @@ -4255,7 +4253,8 @@ namespace std str.Clear(); char c; - do + + for (;;) { is.get(c); if (c != delim && c != '\0') @@ -4263,7 +4262,6 @@ namespace std else break; } - while (true); return is; } diff --git a/src/Nazara/Core/Win32/TaskSchedulerImpl.cpp b/src/Nazara/Core/Win32/TaskSchedulerImpl.cpp index 92fe451b6..c93859d68 100644 --- a/src/Nazara/Core/Win32/TaskSchedulerImpl.cpp +++ b/src/Nazara/Core/Win32/TaskSchedulerImpl.cpp @@ -11,7 +11,7 @@ namespace Nz { - bool TaskSchedulerImpl::Initialize(unsigned int workerCount) + bool TaskSchedulerImpl::Initialize(std::size_t workerCount) { if (IsInitialized()) return true; // Déjà initialisé @@ -30,9 +30,9 @@ namespace Nz s_workerThreads.reset(new HANDLE[workerCount]); // L'identifiant de chaque worker doit rester en vie jusqu'à ce que chaque thread soit correctement lancé - std::unique_ptr workerIDs(new unsigned int[workerCount]); + std::unique_ptr workerIDs(new std::size_t[workerCount]); - for (unsigned int i = 0; i < workerCount; ++i) + for (std::size_t i = 0; i < workerCount; ++i) { // On initialise les évènements, mutex et threads de chaque worker Worker& worker = s_workers[i]; @@ -59,18 +59,18 @@ namespace Nz return s_workerCount > 0; } - void TaskSchedulerImpl::Run(Functor** tasks, unsigned int count) + void TaskSchedulerImpl::Run(Functor** tasks, std::size_t count) { // On s'assure que des tâches ne sont pas déjà en cours WaitForMultipleObjects(s_workerCount, &s_doneEvents[0], true, INFINITE); std::ldiv_t div = std::ldiv(count, s_workerCount); // Division et modulo en une opération, y'a pas de petit profit - for (unsigned int i = 0; i < s_workerCount; ++i) + for (std::size_t i = 0; i < s_workerCount; ++i) { // On va maintenant répartir les tâches entre chaque worker et les envoyer dans la queue de chacun Worker& worker = s_workers[i]; - unsigned int taskCount = (i == 0) ? div.quot + div.rem : div.quot; - for (unsigned int j = 0; j < taskCount; ++j) + std::size_t taskCount = (i == 0) ? div.quot + div.rem : div.quot; + for (std::size_t j = 0; j < taskCount; ++j) worker.queue.push(*tasks++); // On stocke le nombre de tâches à côté dans un entier atomique pour éviter d'entrer inutilement dans une section critique @@ -145,13 +145,13 @@ namespace Nz WaitForMultipleObjects(s_workerCount, &s_doneEvents[0], true, INFINITE); } - Functor* TaskSchedulerImpl::StealTask(unsigned int workerID) + Functor* TaskSchedulerImpl::StealTask(std::size_t workerID) { bool shouldRetry; do { shouldRetry = false; - for (unsigned int i = 0; i < s_workerCount; ++i) + for (std::size_t i = 0; i < s_workerCount; ++i) { // On ne vole pas la famille, ni soi-même. if (i == workerID) @@ -244,5 +244,5 @@ namespace Nz std::unique_ptr TaskSchedulerImpl::s_doneEvents; // Doivent être contigus std::unique_ptr TaskSchedulerImpl::s_workers; std::unique_ptr TaskSchedulerImpl::s_workerThreads; // Doivent être contigus - unsigned int TaskSchedulerImpl::s_workerCount; + std::size_t TaskSchedulerImpl::s_workerCount; } diff --git a/src/Nazara/Core/Win32/TaskSchedulerImpl.hpp b/src/Nazara/Core/Win32/TaskSchedulerImpl.hpp index 3eccebb7c..00fdec634 100644 --- a/src/Nazara/Core/Win32/TaskSchedulerImpl.hpp +++ b/src/Nazara/Core/Win32/TaskSchedulerImpl.hpp @@ -22,19 +22,19 @@ namespace Nz TaskSchedulerImpl() = delete; ~TaskSchedulerImpl() = delete; - static bool Initialize(unsigned int workerCount); + static bool Initialize(std::size_t workerCount); static bool IsInitialized(); - static void Run(Functor** tasks, unsigned int count); + static void Run(Functor** tasks, std::size_t count); static void Uninitialize(); static void WaitForTasks(); private: - static Functor* StealTask(unsigned int workerID); + static Functor* StealTask(std::size_t workerID); static unsigned int __stdcall WorkerProc(void* userdata); struct Worker { - std::atomic_uint workCount; + std::atomic_size_t workCount; std::queue queue; CRITICAL_SECTION queueMutex; HANDLE wakeEvent; @@ -44,7 +44,7 @@ namespace Nz static std::unique_ptr s_doneEvents; // Doivent être contigus static std::unique_ptr s_workers; static std::unique_ptr s_workerThreads; // Doivent être contigus - static unsigned int s_workerCount; + static std::size_t s_workerCount; }; } diff --git a/src/Nazara/Renderer/Renderer.cpp b/src/Nazara/Renderer/Renderer.cpp index 7c2ba3459..57cc8522f 100644 --- a/src/Nazara/Renderer/Renderer.cpp +++ b/src/Nazara/Renderer/Renderer.cpp @@ -1556,7 +1556,7 @@ namespace Nz { ComponentType type; bool enabled; - unsigned int offset; + std::size_t offset; vertexDeclaration->GetComponent(static_cast(j), &enabled, &type, &offset); if (enabled) diff --git a/src/Nazara/Utility/Algorithm.cpp b/src/Nazara/Utility/Algorithm.cpp index dbadfe149..d22021cd2 100644 --- a/src/Nazara/Utility/Algorithm.cpp +++ b/src/Nazara/Utility/Algorithm.cpp @@ -379,9 +379,8 @@ namespace Nz m_vertices[i].current_score = CalculateVertexScore(i); // calculate scores for all active triangles - float max_score; + float max_score = std::numeric_limits::lowest(); int max_score_tri = -1; - bool first_time = true; for (unsigned int i = 0; i < m_triangles.size(); ++i) { @@ -395,9 +394,8 @@ namespace Nz m_triangles[i].current_score = sc; - if (first_time || sc > max_score) + if (sc > max_score) { - first_time = false; max_score = sc; max_score_tri = i; } @@ -564,8 +562,7 @@ namespace Nz int PartialScoreRecalculation() { // iterate through all the vertices of the cache - bool first_time = true; - float max_score; + float max_score = std::numeric_limits::lowest(); int max_score_tri = -1; for (unsigned int i = 0; i < 32; ++i) @@ -588,9 +585,8 @@ namespace Nz float sc = t->current_score; // we actually found a triangle to process - if (first_time || sc > max_score) + if (sc > max_score) { - first_time = false; max_score = sc; max_score_tri = tri; } diff --git a/src/Nazara/Utility/VertexDeclaration.cpp b/src/Nazara/Utility/VertexDeclaration.cpp index 323c62b99..998f12f8b 100644 --- a/src/Nazara/Utility/VertexDeclaration.cpp +++ b/src/Nazara/Utility/VertexDeclaration.cpp @@ -58,7 +58,7 @@ namespace Nz } } - void VertexDeclaration::EnableComponent(VertexComponent component, ComponentType type, unsigned int offset) + void VertexDeclaration::EnableComponent(VertexComponent component, ComponentType type, std::size_t offset) { #ifdef NAZARA_DEBUG if (component > VertexComponent_Max) @@ -91,7 +91,7 @@ namespace Nz m_stride += Utility::ComponentStride[type]; } - void VertexDeclaration::GetComponent(VertexComponent component, bool* enabled, ComponentType* type, unsigned int* offset) const + void VertexDeclaration::GetComponent(VertexComponent component, bool* enabled, ComponentType* type, std::size_t* offset) const { #ifdef NAZARA_DEBUG if (component > VertexComponent_Max) @@ -121,12 +121,12 @@ namespace Nz *offset = vertexComponent.offset; } - unsigned int VertexDeclaration::GetStride() const + std::size_t VertexDeclaration::GetStride() const { return m_stride; } - void VertexDeclaration::SetStride(unsigned int stride) + void VertexDeclaration::SetStride(std::size_t stride) { m_stride = stride; }