Fix a shitload of warnings in 64 bits mode
Former-commit-id: 5bc0c622c20eae45df51bb1ee62e5ed566e58a1b [formerly a8befbed30cb897ce876fd3b46a3585e1b70613e] Former-commit-id: 999225e414c0d6a3e9c6868f040b68045b2ba724
This commit is contained in:
@@ -26,9 +26,9 @@ namespace Nz
|
||||
class Bit;
|
||||
|
||||
Bitset();
|
||||
explicit Bitset(unsigned int bitCount, bool val);
|
||||
explicit Bitset(std::size_t bitCount, bool val);
|
||||
explicit Bitset(const char* bits);
|
||||
Bitset(const char* bits, unsigned int bitCount);
|
||||
Bitset(const char* bits, std::size_t bitCount);
|
||||
Bitset(const Bitset& bitset) = default;
|
||||
explicit Bitset(const String& bits);
|
||||
template<typename T> Bitset(T value);
|
||||
@@ -36,16 +36,16 @@ namespace Nz
|
||||
~Bitset() noexcept = default;
|
||||
|
||||
void Clear() noexcept;
|
||||
unsigned int Count() const;
|
||||
std::size_t Count() const;
|
||||
void Flip();
|
||||
|
||||
unsigned int FindFirst() const;
|
||||
unsigned int FindNext(unsigned int bit) const;
|
||||
std::size_t FindFirst() const;
|
||||
std::size_t FindNext(std::size_t bit) const;
|
||||
|
||||
Block GetBlock(unsigned int i) const;
|
||||
unsigned int GetBlockCount() const;
|
||||
unsigned int GetCapacity() const;
|
||||
unsigned int GetSize() const;
|
||||
Block GetBlock(std::size_t i) const;
|
||||
std::size_t GetBlockCount() const;
|
||||
std::size_t GetCapacity() const;
|
||||
std::size_t GetSize() const;
|
||||
|
||||
void PerformsAND(const Bitset& a, const Bitset& b);
|
||||
void PerformsNOT(const Bitset& a);
|
||||
@@ -54,19 +54,19 @@ namespace Nz
|
||||
|
||||
bool Intersects(const Bitset& bitset) const;
|
||||
|
||||
void Reserve(unsigned int bitCount);
|
||||
void Resize(unsigned int bitCount, bool defaultVal = false);
|
||||
void Reserve(std::size_t bitCount);
|
||||
void Resize(std::size_t bitCount, bool defaultVal = false);
|
||||
|
||||
void Reset();
|
||||
void Reset(unsigned int bit);
|
||||
void Reset(std::size_t bit);
|
||||
|
||||
void Set(bool val = true);
|
||||
void Set(unsigned int bit, bool val = true);
|
||||
void SetBlock(unsigned int i, Block block);
|
||||
void Set(std::size_t bit, bool val = true);
|
||||
void SetBlock(std::size_t i, Block block);
|
||||
|
||||
void Swap(Bitset& bitset);
|
||||
|
||||
bool Test(unsigned int bit) const;
|
||||
bool Test(std::size_t bit) const;
|
||||
bool TestAll() const;
|
||||
bool TestAny() const;
|
||||
bool TestNone() const;
|
||||
@@ -74,9 +74,9 @@ namespace Nz
|
||||
template<typename T> T To() const;
|
||||
String ToString() const;
|
||||
|
||||
void UnboundedReset(unsigned int bit);
|
||||
void UnboundedSet(unsigned int bit, bool val = true);
|
||||
bool UnboundedTest(unsigned int bit) const;
|
||||
void UnboundedReset(std::size_t bit);
|
||||
void UnboundedSet(std::size_t bit, bool val = true);
|
||||
bool UnboundedTest(std::size_t bit) const;
|
||||
|
||||
Bit operator[](int index);
|
||||
bool operator[](int index) const;
|
||||
@@ -93,20 +93,20 @@ namespace Nz
|
||||
Bitset& operator^=(const Bitset& bitset);
|
||||
|
||||
static constexpr Block fullBitMask = std::numeric_limits<Block>::max();
|
||||
static constexpr unsigned int bitsPerBlock = std::numeric_limits<Block>::digits;
|
||||
static constexpr unsigned int npos = std::numeric_limits<unsigned int>::max();
|
||||
static constexpr std::size_t bitsPerBlock = std::numeric_limits<Block>::digits;
|
||||
static constexpr std::size_t npos = std::numeric_limits<std::size_t>::max();
|
||||
|
||||
private:
|
||||
unsigned int FindFirstFrom(unsigned int blockIndex) const;
|
||||
std::size_t FindFirstFrom(std::size_t blockIndex) const;
|
||||
Block GetLastBlockMask() const;
|
||||
void ResetExtraBits();
|
||||
|
||||
static unsigned int ComputeBlockCount(unsigned int bitCount);
|
||||
static unsigned int GetBitIndex(unsigned int bit);
|
||||
static unsigned int GetBlockIndex(unsigned int bit);
|
||||
static std::size_t ComputeBlockCount(std::size_t bitCount);
|
||||
static std::size_t GetBitIndex(std::size_t bit);
|
||||
static std::size_t GetBlockIndex(std::size_t bit);
|
||||
|
||||
std::vector<Block, Allocator> m_blocks;
|
||||
unsigned int m_bitCount;
|
||||
std::size_t m_bitCount;
|
||||
};
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
|
||||
@@ -42,7 +42,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
Bitset<Block, Allocator>::Bitset(unsigned int bitCount, bool val) :
|
||||
Bitset<Block, Allocator>::Bitset(std::size_t bitCount, bool val) :
|
||||
Bitset()
|
||||
{
|
||||
Resize(bitCount, val);
|
||||
@@ -72,11 +72,11 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
Bitset<Block, Allocator>::Bitset(const char* bits, unsigned int bitCount) :
|
||||
Bitset<Block, Allocator>::Bitset(const char* bits, std::size_t bitCount) :
|
||||
m_blocks(ComputeBlockCount(bitCount), 0U),
|
||||
m_bitCount(bitCount)
|
||||
{
|
||||
for (unsigned int i = 0; i < bitCount; ++i)
|
||||
for (std::size_t i = 0; i < bitCount; ++i)
|
||||
{
|
||||
switch (*bits++)
|
||||
{
|
||||
@@ -126,7 +126,7 @@ namespace Nz
|
||||
else
|
||||
{
|
||||
// Note: I was kinda tired when I wrote this, there's probably a much easier method than checking bits to write bits
|
||||
for (unsigned int bitPos = 0; bitPos < std::numeric_limits<T>::digits; bitPos++)
|
||||
for (std::size_t bitPos = 0; bitPos < std::numeric_limits<T>::digits; bitPos++)
|
||||
{
|
||||
if (value & (T(1U) << bitPos))
|
||||
UnboundedSet(bitPos, true);
|
||||
@@ -153,13 +153,13 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
unsigned int Bitset<Block, Allocator>::Count() const
|
||||
std::size_t Bitset<Block, Allocator>::Count() const
|
||||
{
|
||||
if (m_blocks.empty())
|
||||
return 0;
|
||||
|
||||
unsigned int count = 0;
|
||||
for (unsigned int i = 0; i < m_blocks.size(); ++i)
|
||||
std::size_t count = 0;
|
||||
for (std::size_t i = 0; i < m_blocks.size(); ++i)
|
||||
count += CountBits(m_blocks[i]);
|
||||
|
||||
return count;
|
||||
@@ -184,7 +184,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
unsigned int Bitset<Block, Allocator>::FindFirst() const
|
||||
std::size_t Bitset<Block, Allocator>::FindFirst() const
|
||||
{
|
||||
return FindFirstFrom(0);
|
||||
}
|
||||
@@ -199,7 +199,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
unsigned int Bitset<Block, Allocator>::FindNext(unsigned int bit) const
|
||||
std::size_t Bitset<Block, Allocator>::FindNext(std::size_t bit) const
|
||||
{
|
||||
NazaraAssert(bit < m_bitCount, "Bit index out of range");
|
||||
|
||||
@@ -207,8 +207,8 @@ namespace Nz
|
||||
return npos;
|
||||
|
||||
// The block of the bit and its index
|
||||
unsigned int blockIndex = GetBlockIndex(bit);
|
||||
unsigned int bitIndex = GetBitIndex(bit);
|
||||
std::size_t blockIndex = GetBlockIndex(bit);
|
||||
std::size_t bitIndex = GetBitIndex(bit);
|
||||
|
||||
// We get the block
|
||||
Block block = m_blocks[blockIndex];
|
||||
@@ -233,7 +233,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
Block Bitset<Block, Allocator>::GetBlock(unsigned int i) const
|
||||
Block Bitset<Block, Allocator>::GetBlock(std::size_t i) const
|
||||
{
|
||||
NazaraAssert(i < m_blocks.size(), "Block index out of range");
|
||||
|
||||
@@ -246,7 +246,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
unsigned int Bitset<Block, Allocator>::GetBlockCount() const
|
||||
std::size_t Bitset<Block, Allocator>::GetBlockCount() const
|
||||
{
|
||||
return m_blocks.size();
|
||||
}
|
||||
@@ -257,7 +257,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
unsigned int Bitset<Block, Allocator>::GetCapacity() const
|
||||
std::size_t Bitset<Block, Allocator>::GetCapacity() const
|
||||
{
|
||||
return m_blocks.capacity()*bitsPerBlock;
|
||||
}
|
||||
@@ -268,7 +268,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
unsigned int Bitset<Block, Allocator>::GetSize() const
|
||||
std::size_t Bitset<Block, Allocator>::GetSize() const
|
||||
{
|
||||
return m_bitCount;
|
||||
}
|
||||
@@ -285,7 +285,7 @@ namespace Nz
|
||||
template<typename Block, class Allocator>
|
||||
void Bitset<Block, Allocator>::PerformsAND(const Bitset& a, const Bitset& b)
|
||||
{
|
||||
std::pair<unsigned int, unsigned int> minmax = std::minmax(a.GetBlockCount(), b.GetBlockCount());
|
||||
std::pair<std::size_t, std::size_t> minmax = std::minmax(a.GetBlockCount(), b.GetBlockCount());
|
||||
|
||||
// We reinitialise our blocks with zero
|
||||
m_blocks.clear();
|
||||
@@ -293,7 +293,7 @@ namespace Nz
|
||||
m_bitCount = std::max(a.GetSize(), b.GetSize());
|
||||
|
||||
// In case of the "AND", we can stop with the smallest size (because x & 0 = 0)
|
||||
for (unsigned int i = 0; i < minmax.first; ++i)
|
||||
for (std::size_t i = 0; i < minmax.first; ++i)
|
||||
m_blocks[i] = a.GetBlock(i) & b.GetBlock(i);
|
||||
|
||||
ResetExtraBits();
|
||||
@@ -311,7 +311,7 @@ namespace Nz
|
||||
m_blocks.resize(a.GetBlockCount());
|
||||
m_bitCount = a.GetSize();
|
||||
|
||||
for (unsigned int i = 0; i < m_blocks.size(); ++i)
|
||||
for (std::size_t i = 0; i < m_blocks.size(); ++i)
|
||||
m_blocks[i] = ~a.GetBlock(i);
|
||||
|
||||
ResetExtraBits();
|
||||
@@ -332,15 +332,15 @@ namespace Nz
|
||||
const Bitset& greater = (a.GetSize() > b.GetSize()) ? a : b;
|
||||
const Bitset& lesser = (a.GetSize() > b.GetSize()) ? b : a;
|
||||
|
||||
unsigned int maxBlockCount = greater.GetBlockCount();
|
||||
unsigned int minBlockCount = lesser.GetBlockCount();
|
||||
std::size_t maxBlockCount = greater.GetBlockCount();
|
||||
std::size_t minBlockCount = lesser.GetBlockCount();
|
||||
m_blocks.resize(maxBlockCount);
|
||||
m_bitCount = greater.GetSize();
|
||||
|
||||
for (unsigned int i = 0; i < minBlockCount; ++i)
|
||||
for (std::size_t i = 0; i < minBlockCount; ++i)
|
||||
m_blocks[i] = a.GetBlock(i) | b.GetBlock(i);
|
||||
|
||||
for (unsigned int i = minBlockCount; i < maxBlockCount; ++i)
|
||||
for (std::size_t i = minBlockCount; i < maxBlockCount; ++i)
|
||||
m_blocks[i] = greater.GetBlock(i); // (x | 0 = x)
|
||||
|
||||
ResetExtraBits();
|
||||
@@ -361,15 +361,15 @@ namespace Nz
|
||||
const Bitset& greater = (a.GetSize() > b.GetSize()) ? a : b;
|
||||
const Bitset& lesser = (a.GetSize() > b.GetSize()) ? b : a;
|
||||
|
||||
unsigned int maxBlockCount = greater.GetBlockCount();
|
||||
unsigned int minBlockCount = lesser.GetBlockCount();
|
||||
std::size_t maxBlockCount = greater.GetBlockCount();
|
||||
std::size_t minBlockCount = lesser.GetBlockCount();
|
||||
m_blocks.resize(maxBlockCount);
|
||||
m_bitCount = greater.GetSize();
|
||||
|
||||
for (unsigned int i = 0; i < minBlockCount; ++i)
|
||||
for (std::size_t i = 0; i < minBlockCount; ++i)
|
||||
m_blocks[i] = a.GetBlock(i) ^ b.GetBlock(i);
|
||||
|
||||
for (unsigned int i = minBlockCount; i < maxBlockCount; ++i)
|
||||
for (std::size_t i = minBlockCount; i < maxBlockCount; ++i)
|
||||
m_blocks[i] = greater.GetBlock(i); // (x ^ 0 = x)
|
||||
|
||||
ResetExtraBits();
|
||||
@@ -385,8 +385,8 @@ namespace Nz
|
||||
bool Bitset<Block, Allocator>::Intersects(const Bitset& bitset) const
|
||||
{
|
||||
// We only test the blocks in common
|
||||
unsigned int sharedBlocks = std::min(GetBlockCount(), bitset.GetBlockCount());
|
||||
for (unsigned int i = 0; i < sharedBlocks; ++i)
|
||||
std::size_t sharedBlocks = std::min(GetBlockCount(), bitset.GetBlockCount());
|
||||
for (std::size_t i = 0; i < sharedBlocks; ++i)
|
||||
{
|
||||
Block a = GetBlock(i);
|
||||
Block b = bitset.GetBlock(i);
|
||||
@@ -404,7 +404,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
void Bitset<Block, Allocator>::Reserve(unsigned int bitCount)
|
||||
void Bitset<Block, Allocator>::Reserve(std::size_t bitCount)
|
||||
{
|
||||
m_blocks.reserve(ComputeBlockCount(bitCount));
|
||||
}
|
||||
@@ -417,13 +417,13 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
void Bitset<Block, Allocator>::Resize(unsigned int bitCount, bool defaultVal)
|
||||
void Bitset<Block, Allocator>::Resize(std::size_t bitCount, bool defaultVal)
|
||||
{
|
||||
// We begin with changing the size of container, with the correct value of initialisation
|
||||
unsigned int lastBlockIndex = m_blocks.size() - 1;
|
||||
std::size_t lastBlockIndex = m_blocks.size() - 1;
|
||||
m_blocks.resize(ComputeBlockCount(bitCount), (defaultVal) ? fullBitMask : 0U);
|
||||
|
||||
unsigned int remainingBits = GetBitIndex(m_bitCount);
|
||||
std::size_t remainingBits = GetBitIndex(m_bitCount);
|
||||
if (bitCount > m_bitCount && remainingBits > 0 && defaultVal)
|
||||
// Initialisation of unused bits in the last block before the size change
|
||||
m_blocks[lastBlockIndex] |= fullBitMask << remainingBits;
|
||||
@@ -451,7 +451,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
void Bitset<Block, Allocator>::Reset(unsigned int bit)
|
||||
void Bitset<Block, Allocator>::Reset(std::size_t bit)
|
||||
{
|
||||
Set(bit, false);
|
||||
}
|
||||
@@ -482,7 +482,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
void Bitset<Block, Allocator>::Set(unsigned int bit, bool val)
|
||||
void Bitset<Block, Allocator>::Set(std::size_t bit, bool val)
|
||||
{
|
||||
NazaraAssert(bit < m_bitCount, "Bit index out of range");
|
||||
|
||||
@@ -503,7 +503,7 @@ namespace Nz
|
||||
* \remark Produce a NazaraAssert if i is greather than number of blocks in bitset
|
||||
*/
|
||||
template<typename Block, class Allocator>
|
||||
void Bitset<Block, Allocator>::SetBlock(unsigned int i, Block block)
|
||||
void Bitset<Block, Allocator>::SetBlock(std::size_t i, Block block)
|
||||
{
|
||||
NazaraAssert(i < m_blocks.size(), "Block index out of range");
|
||||
|
||||
@@ -537,7 +537,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
bool Bitset<Block, Allocator>::Test(unsigned int bit) const
|
||||
bool Bitset<Block, Allocator>::Test(std::size_t bit) const
|
||||
{
|
||||
NazaraAssert(bit < m_bitCount, "Bit index out of range");
|
||||
|
||||
@@ -555,7 +555,7 @@ namespace Nz
|
||||
// Special case for the last block
|
||||
Block lastBlockMask = GetLastBlockMask();
|
||||
|
||||
for (unsigned int i = 0; i < m_blocks.size(); ++i)
|
||||
for (std::size_t i = 0; i < m_blocks.size(); ++i)
|
||||
{
|
||||
Block mask = (i == m_blocks.size() - 1) ? lastBlockMask : fullBitMask;
|
||||
if (m_blocks[i] == mask) // The extra bits are set to zero, thus we can't test without proceeding with a mask
|
||||
@@ -576,7 +576,7 @@ namespace Nz
|
||||
if (m_blocks.empty())
|
||||
return false;
|
||||
|
||||
for (unsigned int i = 0; i < m_blocks.size(); ++i)
|
||||
for (std::size_t i = 0; i < m_blocks.size(); ++i)
|
||||
{
|
||||
if (m_blocks[i])
|
||||
return true;
|
||||
@@ -612,7 +612,7 @@ namespace Nz
|
||||
NazaraAssert(m_bitCount <= std::numeric_limits<T>::digits, "Bit count cannot be greater than T bit count");
|
||||
|
||||
T value = 0;
|
||||
for (unsigned int i = 0; i < m_blocks.size(); ++i)
|
||||
for (std::size_t i = 0; i < m_blocks.size(); ++i)
|
||||
value |= static_cast<T>(m_blocks[i]) << i*bitsPerBlock;
|
||||
|
||||
return value;
|
||||
@@ -628,7 +628,7 @@ namespace Nz
|
||||
{
|
||||
String str(m_bitCount, '0');
|
||||
|
||||
for (unsigned int i = 0; i < m_bitCount; ++i)
|
||||
for (std::size_t i = 0; i < m_bitCount; ++i)
|
||||
{
|
||||
if (Test(i))
|
||||
str[m_bitCount - i - 1] = '1'; // Inversion de l'indice
|
||||
@@ -648,7 +648,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
void Bitset<Block, Allocator>::UnboundedReset(unsigned int bit)
|
||||
void Bitset<Block, Allocator>::UnboundedReset(std::size_t bit)
|
||||
{
|
||||
UnboundedSet(bit, false);
|
||||
}
|
||||
@@ -665,7 +665,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
void Bitset<Block, Allocator>::UnboundedSet(unsigned int bit, bool val)
|
||||
void Bitset<Block, Allocator>::UnboundedSet(std::size_t bit, bool val)
|
||||
{
|
||||
if (bit < m_bitCount)
|
||||
Set(bit, val);
|
||||
@@ -687,7 +687,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
bool Bitset<Block, Allocator>::UnboundedTest(unsigned int bit) const
|
||||
bool Bitset<Block, Allocator>::UnboundedTest(std::size_t bit) const
|
||||
{
|
||||
if (bit < m_bitCount)
|
||||
return Test(bit);
|
||||
@@ -816,13 +816,13 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
unsigned int Bitset<Block, Allocator>::FindFirstFrom(unsigned int blockIndex) const
|
||||
std::size_t Bitset<Block, Allocator>::FindFirstFrom(std::size_t blockIndex) const
|
||||
{
|
||||
if (blockIndex >= m_blocks.size())
|
||||
return npos;
|
||||
|
||||
// We are looking for the first non-null block
|
||||
unsigned int i = blockIndex;
|
||||
std::size_t i = blockIndex;
|
||||
for (; i < m_blocks.size(); ++i)
|
||||
{
|
||||
if (m_blocks[i])
|
||||
@@ -868,7 +868,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
unsigned int Bitset<Block, Allocator>::ComputeBlockCount(unsigned int bitCount)
|
||||
std::size_t Bitset<Block, Allocator>::ComputeBlockCount(std::size_t bitCount)
|
||||
{
|
||||
return GetBlockIndex(bitCount) + ((GetBitIndex(bitCount) != 0U) ? 1U : 0U);
|
||||
}
|
||||
@@ -879,7 +879,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
unsigned int Bitset<Block, Allocator>::GetBitIndex(unsigned int bit)
|
||||
std::size_t Bitset<Block, Allocator>::GetBitIndex(std::size_t bit)
|
||||
{
|
||||
return bit & (bitsPerBlock - 1U); // bit % bitsPerBlock
|
||||
}
|
||||
@@ -890,7 +890,7 @@ namespace Nz
|
||||
*/
|
||||
|
||||
template<typename Block, class Allocator>
|
||||
unsigned int Bitset<Block, Allocator>::GetBlockIndex(unsigned int bit)
|
||||
std::size_t Bitset<Block, Allocator>::GetBlockIndex(std::size_t bit)
|
||||
{
|
||||
return bit / bitsPerBlock;
|
||||
}
|
||||
@@ -1106,18 +1106,18 @@ namespace Nz
|
||||
const Bitset<Block, Allocator>& greater = (lhs.GetBlockCount() > rhs.GetBlockCount()) ? lhs : rhs;
|
||||
const Bitset<Block, Allocator>& lesser = (lhs.GetBlockCount() > rhs.GetBlockCount()) ? rhs : lhs;
|
||||
|
||||
unsigned int maxBlockCount = greater.GetBlockCount();
|
||||
unsigned int minBlockCount = lesser.GetBlockCount();
|
||||
std::size_t maxBlockCount = greater.GetBlockCount();
|
||||
std::size_t minBlockCount = lesser.GetBlockCount();
|
||||
|
||||
// We test the blocks in common to check the equality of bits
|
||||
for (unsigned int i = 0; i < minBlockCount; ++i)
|
||||
for (std::size_t i = 0; i < minBlockCount; ++i)
|
||||
{
|
||||
if (lhs.GetBlock(i) != rhs.GetBlock(i))
|
||||
return false;
|
||||
}
|
||||
|
||||
// Now we check for the blocks that only the biggest bitset owns, and to be equal, they must be set to '0'
|
||||
for (unsigned int i = minBlockCount; i < maxBlockCount; ++i)
|
||||
for (std::size_t i = minBlockCount; i < maxBlockCount; ++i)
|
||||
if (greater.GetBlock(i))
|
||||
return false;
|
||||
|
||||
@@ -1152,20 +1152,20 @@ namespace Nz
|
||||
const Bitset<Block, Allocator>& greater = (lhs.GetBlockCount() > rhs.GetBlockCount()) ? lhs : rhs;
|
||||
const Bitset<Block, Allocator>& lesser = (lhs.GetBlockCount() > rhs.GetBlockCount()) ? rhs : lhs;
|
||||
|
||||
unsigned int maxBlockCount = greater.GetBlockCount();
|
||||
unsigned int minBlockCount = lesser.GetBlockCount();
|
||||
std::size_t maxBlockCount = greater.GetBlockCount();
|
||||
std::size_t minBlockCount = lesser.GetBlockCount();
|
||||
|
||||
// If the greatest bitset has a single bit active in a block outside the lesser bitset range, then it is greater
|
||||
for (unsigned int i = maxBlockCount; i > minBlockCount; ++i)
|
||||
for (std::size_t i = maxBlockCount; i > minBlockCount; ++i)
|
||||
{
|
||||
if (greater.GetBlock(i))
|
||||
return lhs.GetBlockCount() < rhs.GetBlockCount();
|
||||
}
|
||||
|
||||
// Compare the common blocks
|
||||
for (unsigned int i = 0; i < minBlockCount; ++i)
|
||||
for (std::size_t i = 0; i < minBlockCount; ++i)
|
||||
{
|
||||
unsigned int index = (minBlockCount - i - 1); // Compare from the most significant block to the less significant block
|
||||
std::size_t index = (minBlockCount - i - 1); // Compare from the most significant block to the less significant block
|
||||
if (lhs.GetBlock(index) < rhs.GetBlock(index))
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -33,8 +33,8 @@ namespace Nz
|
||||
inline void SwapBytes(void* buffer, std::size_t size)
|
||||
{
|
||||
UInt8* bytes = static_cast<UInt8*>(buffer);
|
||||
unsigned int i = 0;
|
||||
unsigned int j = size - 1;
|
||||
std::size_t i = 0;
|
||||
std::size_t j = size - 1;
|
||||
|
||||
while (i < j)
|
||||
std::swap(bytes[i++], bytes[j--]);
|
||||
|
||||
@@ -39,7 +39,7 @@ namespace Nz
|
||||
static bool IsExtensionSupported(const String& extension);
|
||||
|
||||
static bool LoadFromFile(Type* resource, const String& filePath, const Parameters& parameters = Parameters());
|
||||
static bool LoadFromMemory(Type* resource, const void* data, unsigned int size, const Parameters& parameters = Parameters());
|
||||
static bool LoadFromMemory(Type* resource, const void* data, std::size_t size, const Parameters& parameters = Parameters());
|
||||
static bool LoadFromStream(Type* resource, Stream& stream, const Parameters& parameters = Parameters());
|
||||
|
||||
static void RegisterLoader(ExtensionGetter extensionGetter, StreamChecker checkFunc, StreamLoader streamLoader, FileLoader fileLoader = nullptr, MemoryLoader memoryLoader = nullptr);
|
||||
|
||||
@@ -160,7 +160,7 @@ namespace Nz
|
||||
* \remark Produces a NazaraError if all loaders failed or no loader was found
|
||||
*/
|
||||
template<typename Type, typename Parameters>
|
||||
bool ResourceLoader<Type, Parameters>::LoadFromMemory(Type* resource, const void* data, unsigned int size, const Parameters& parameters)
|
||||
bool ResourceLoader<Type, Parameters>::LoadFromMemory(Type* resource, const void* data, std::size_t size, const Parameters& parameters)
|
||||
{
|
||||
NazaraAssert(resource, "Invalid resource");
|
||||
NazaraAssert(data, "Invalid data pointer");
|
||||
|
||||
@@ -84,7 +84,7 @@ namespace Nz
|
||||
|
||||
bool Execute(const String& code);
|
||||
bool ExecuteFromFile(const String& filePath);
|
||||
bool ExecuteFromMemory(const void* data, unsigned int size);
|
||||
bool ExecuteFromMemory(const void* data, std::size_t size);
|
||||
bool ExecuteFromStream(Stream& stream);
|
||||
|
||||
int GetAbsIndex(int index) const;
|
||||
@@ -142,10 +142,10 @@ namespace Nz
|
||||
void PushNumber(double value) const;
|
||||
void PushReference(int ref) const;
|
||||
void PushString(const char* str) const;
|
||||
void PushString(const char* str, unsigned int size) const;
|
||||
void PushString(const char* str, std::size_t size) const;
|
||||
void PushString(const String& str) const;
|
||||
void PushTable(unsigned int sequenceElementCount = 0, unsigned int arrayElementCount = 0) const;
|
||||
void* PushUserdata(unsigned int size) const;
|
||||
void* PushUserdata(std::size_t size) const;
|
||||
void PushValue(int index) const;
|
||||
|
||||
void Remove(int index) const;
|
||||
@@ -158,7 +158,7 @@ namespace Nz
|
||||
void SetMetatable(const char* tname) const;
|
||||
void SetMetatable(const String& tname) const;
|
||||
void SetMetatable(int index) const;
|
||||
void SetMemoryLimit(UInt32 memoryLimit);
|
||||
void SetMemoryLimit(std::size_t memoryLimit);
|
||||
void SetTable(int index = -3) const;
|
||||
void SetTimeLimit(UInt32 timeLimit);
|
||||
|
||||
@@ -185,8 +185,8 @@ namespace Nz
|
||||
static int ProxyFunc(lua_State* state);
|
||||
static void TimeLimiter(lua_State* state, lua_Debug* debug);
|
||||
|
||||
UInt32 m_memoryLimit;
|
||||
UInt32 m_memoryUsage;
|
||||
std::size_t m_memoryLimit;
|
||||
std::size_t m_memoryUsage;
|
||||
UInt32 m_timeLimit;
|
||||
Clock m_clock;
|
||||
String m_lastError;
|
||||
|
||||
@@ -59,8 +59,8 @@ namespace Nz
|
||||
unsigned int GetHeight(UInt8 level = 0) const;
|
||||
UInt8 GetLevelCount() const;
|
||||
UInt8 GetMaxLevel() const;
|
||||
unsigned int GetMemoryUsage() const;
|
||||
unsigned int GetMemoryUsage(UInt8 level) const;
|
||||
std::size_t GetMemoryUsage() const;
|
||||
std::size_t GetMemoryUsage(UInt8 level) const;
|
||||
Vector3ui GetSize(UInt8 level = 0) const;
|
||||
ImageType GetType() const;
|
||||
unsigned int GetWidth(UInt8 level = 0) const;
|
||||
|
||||
@@ -29,7 +29,7 @@ namespace Nz
|
||||
virtual void Clear() = 0;
|
||||
virtual void Free(SparsePtr<const Rectui> rects, SparsePtr<unsigned int> layers, unsigned int count) = 0;
|
||||
virtual AbstractImage* GetLayer(unsigned int layerIndex) const = 0;
|
||||
virtual unsigned int GetLayerCount() const = 0;
|
||||
virtual std::size_t GetLayerCount() const = 0;
|
||||
virtual UInt32 GetStorage() const = 0;
|
||||
virtual bool Insert(const Image& image, Rectui* rect, bool* flipped, unsigned int* layerIndex) = 0;
|
||||
|
||||
|
||||
@@ -28,8 +28,8 @@ namespace Nz
|
||||
virtual unsigned int GetHeight(UInt8 level = 0) const = 0;
|
||||
virtual UInt8 GetLevelCount() const = 0;
|
||||
virtual UInt8 GetMaxLevel() const = 0;
|
||||
virtual unsigned int GetMemoryUsage() const = 0;
|
||||
virtual unsigned int GetMemoryUsage(UInt8 level) const = 0;
|
||||
virtual std::size_t GetMemoryUsage() const = 0;
|
||||
virtual std::size_t GetMemoryUsage(UInt8 level) const = 0;
|
||||
virtual Vector3ui GetSize(UInt8 level = 0) const = 0;
|
||||
virtual ImageType GetType() const = 0;
|
||||
virtual unsigned int GetWidth(UInt8 level = 0) const = 0;
|
||||
|
||||
@@ -27,10 +27,10 @@ namespace Nz
|
||||
virtual ~AbstractTextDrawer();
|
||||
|
||||
virtual const Recti& GetBounds() const = 0;
|
||||
virtual Font* GetFont(unsigned int index) const = 0;
|
||||
virtual unsigned int GetFontCount() const = 0;
|
||||
virtual const Glyph& GetGlyph(unsigned int index) const = 0;
|
||||
virtual unsigned int GetGlyphCount() const = 0;
|
||||
virtual Font* GetFont(std::size_t index) const = 0;
|
||||
virtual std::size_t GetFontCount() const = 0;
|
||||
virtual const Glyph& GetGlyph(std::size_t index) const = 0;
|
||||
virtual std::size_t GetGlyphCount() const = 0;
|
||||
|
||||
struct Glyph
|
||||
{
|
||||
|
||||
@@ -61,8 +61,8 @@ namespace Nz
|
||||
bool ExtractGlyph(unsigned int characterSize, char32_t character, UInt32 style, FontGlyph* glyph) const;
|
||||
|
||||
const std::shared_ptr<AbstractAtlas>& GetAtlas() const;
|
||||
unsigned int GetCachedGlyphCount(unsigned int characterSize, UInt32 style) const;
|
||||
unsigned int GetCachedGlyphCount() const;
|
||||
std::size_t GetCachedGlyphCount(unsigned int characterSize, UInt32 style) const;
|
||||
std::size_t GetCachedGlyphCount() const;
|
||||
String GetFamilyName() const;
|
||||
int GetKerning(unsigned int characterSize, char32_t first, char32_t second) const;
|
||||
const Glyph& GetGlyph(unsigned int characterSize, UInt32 style, char32_t character) const;
|
||||
|
||||
@@ -47,12 +47,12 @@ namespace Nz
|
||||
|
||||
Ternary Check();
|
||||
|
||||
unsigned int GetAnimatedComponentCount() const;
|
||||
std::size_t GetAnimatedComponentCount() const;
|
||||
const Frame* GetFrames() const;
|
||||
unsigned int GetFrameCount() const;
|
||||
unsigned int GetFrameRate() const;
|
||||
std::size_t GetFrameCount() const;
|
||||
std::size_t GetFrameRate() const;
|
||||
const Joint* GetJoints() const;
|
||||
unsigned int GetJointCount() const;
|
||||
std::size_t GetJointCount() const;
|
||||
|
||||
bool Parse();
|
||||
|
||||
|
||||
@@ -58,9 +58,9 @@ namespace Nz
|
||||
Ternary Check();
|
||||
|
||||
const Joint* GetJoints() const;
|
||||
unsigned int GetJointCount() const;
|
||||
std::size_t GetJointCount() const;
|
||||
const Mesh* GetMeshes() const;
|
||||
unsigned int GetMeshCount() const;
|
||||
std::size_t GetMeshCount() const;
|
||||
|
||||
bool Parse();
|
||||
|
||||
|
||||
@@ -23,16 +23,17 @@ namespace Nz
|
||||
GuillotineImageAtlas();
|
||||
virtual ~GuillotineImageAtlas();
|
||||
|
||||
void Clear();
|
||||
void Free(SparsePtr<const Rectui> rects, SparsePtr<unsigned int> layers, unsigned int count);
|
||||
void Clear() override;
|
||||
|
||||
void Free(SparsePtr<const Rectui> rects, SparsePtr<unsigned int> layers, unsigned int count) override;
|
||||
|
||||
GuillotineBinPack::FreeRectChoiceHeuristic GetRectChoiceHeuristic() const;
|
||||
GuillotineBinPack::GuillotineSplitHeuristic GetRectSplitHeuristic() const;
|
||||
AbstractImage* GetLayer(unsigned int layerIndex) const;
|
||||
unsigned int GetLayerCount() const;
|
||||
UInt32 GetStorage() const;
|
||||
AbstractImage* GetLayer(unsigned int layerIndex) const override;
|
||||
std::size_t GetLayerCount() const override;
|
||||
UInt32 GetStorage() const override;
|
||||
|
||||
bool Insert(const Image& image, Rectui* rect, bool* flipped, unsigned int* layerIndex);
|
||||
bool Insert(const Image& image, Rectui* rect, bool* flipped, unsigned int* layerIndex) override;
|
||||
|
||||
void SetRectChoiceHeuristic(GuillotineBinPack::FreeRectChoiceHeuristic heuristic);
|
||||
void SetRectSplitHeuristic(GuillotineBinPack::GuillotineSplitHeuristic heuristic);
|
||||
|
||||
@@ -84,8 +84,8 @@ namespace Nz
|
||||
unsigned int GetHeight(UInt8 level = 0) const;
|
||||
UInt8 GetLevelCount() const;
|
||||
UInt8 GetMaxLevel() const;
|
||||
unsigned int GetMemoryUsage() const;
|
||||
unsigned int GetMemoryUsage(UInt8 level) const;
|
||||
std::size_t GetMemoryUsage() const;
|
||||
std::size_t GetMemoryUsage(UInt8 level) const;
|
||||
Color GetPixelColor(unsigned int x, unsigned int y = 0, unsigned int z = 0) const;
|
||||
UInt8* GetPixels(unsigned int x = 0, unsigned int y = 0, unsigned int z = 0, UInt8 level = 0);
|
||||
Vector3ui GetSize(UInt8 level = 0) const;
|
||||
|
||||
@@ -100,7 +100,7 @@ namespace Nz
|
||||
counter |= blueMask;
|
||||
counter |= alphaMask;
|
||||
|
||||
bitsPerPixel = counter.Count();
|
||||
bitsPerPixel = static_cast<UInt8>(counter.Count());
|
||||
}
|
||||
|
||||
inline bool PixelFormatInfo::Validate() const
|
||||
@@ -116,7 +116,7 @@ namespace Nz
|
||||
|
||||
for (unsigned int i = 0; i < 4; ++i)
|
||||
{
|
||||
unsigned int usedBits = masks[i]->Count();
|
||||
UInt8 usedBits = static_cast<UInt8>(masks[i]->Count());
|
||||
if (usedBits == 0)
|
||||
continue;
|
||||
|
||||
|
||||
@@ -32,10 +32,10 @@ namespace Nz
|
||||
unsigned int GetCharacterSize() const;
|
||||
const Color& GetColor() const;
|
||||
Font* GetFont() const;
|
||||
Font* GetFont(unsigned int index) const override;
|
||||
unsigned int GetFontCount() const override;
|
||||
const Glyph& GetGlyph(unsigned int index) const override;
|
||||
unsigned int GetGlyphCount() const override;
|
||||
Font* GetFont(std::size_t index) const override;
|
||||
std::size_t GetFontCount() const override;
|
||||
const Glyph& GetGlyph(std::size_t index) const override;
|
||||
std::size_t GetGlyphCount() const override;
|
||||
UInt32 GetStyle() const;
|
||||
const String& GetText() const;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user