Browse Source

Modernised a bunch of code mainly relating to character/string iteration

tags/2021-05-28
jules 8 years ago
parent
commit
f0ef700e46
27 changed files with 358 additions and 381 deletions
  1. +3
    -3
      examples/Demo/Source/Demos/WavefrontObjParser.h
  2. +3
    -3
      examples/OpenGLAppExample/Source/Resources/WavefrontObjParser.h
  3. +1
    -1
      extras/Projucer/Source/LiveBuildEngine/jucer_ClassDatabase.h
  4. +3
    -3
      extras/Projucer/Source/Utility/Helpers/jucer_CodeHelpers.cpp
  5. +4
    -3
      extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp
  6. +5
    -6
      extras/Projucer/Source/Utility/Helpers/jucer_TranslationHelpers.h
  7. +3
    -3
      modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h
  8. +14
    -14
      modules/juce_core/containers/juce_LinkedListPointer.h
  9. +104
    -113
      modules/juce_core/maths/juce_BigInteger.cpp
  10. +2
    -2
      modules/juce_core/maths/juce_BigInteger.h
  11. +6
    -6
      modules/juce_core/maths/juce_Expression.cpp
  12. +10
    -10
      modules/juce_core/text/juce_Base64.cpp
  13. +1
    -1
      modules/juce_core/text/juce_CharacterFunctions.h
  14. +9
    -11
      modules/juce_core/text/juce_LocalisedStrings.cpp
  15. +20
    -20
      modules/juce_core/text/juce_TextDiff.cpp
  16. +41
    -38
      modules/juce_core/time/juce_Time.cpp
  17. +61
    -69
      modules/juce_core/xml/juce_XmlElement.cpp
  18. +3
    -3
      modules/juce_cryptography/hashing/juce_MD5.cpp
  19. +1
    -1
      modules/juce_graphics/native/juce_android_Fonts.cpp
  20. +5
    -5
      modules/juce_gui_basics/drawables/juce_SVGParser.cpp
  21. +9
    -20
      modules/juce_gui_basics/keyboard/juce_KeyPress.cpp
  22. +2
    -2
      modules/juce_gui_basics/keyboard/juce_KeyPress.h
  23. +1
    -2
      modules/juce_gui_basics/native/juce_win32_Windowing.cpp
  24. +26
    -22
      modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h
  25. +3
    -3
      modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp
  26. +1
    -1
      modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp
  27. +17
    -16
      modules/juce_osc/osc/juce_OSCAddress.cpp

+ 3
- 3
examples/Demo/Source/Demos/WavefrontObjParser.h View File

@@ -176,7 +176,7 @@ private:
if (CharacterFunctions::compareUpTo (CharPointer_ASCII (token), t, len) == 0)
{
String::CharPointerType end = t + len;
auto end = t + len;
if (end.isEmpty() || end.isWhitespace())
{
@@ -279,7 +279,7 @@ private:
for (int lineNum = 0; lineNum < lines.size(); ++lineNum)
{
String::CharPointerType l = lines[lineNum].getCharPointer().findEndOfWhitespace();
auto l = lines[lineNum].getCharPointer().findEndOfWhitespace();
if (matchToken (l, "v")) { mesh.vertices.add (parseVertex (l)); continue; }
if (matchToken (l, "vn")) { mesh.normals.add (parseVertex (l)); continue; }
@@ -341,7 +341,7 @@ private:
for (int i = 0; i < lines.size(); ++i)
{
String::CharPointerType l (lines[i].getCharPointer().findEndOfWhitespace());
auto l = lines[i].getCharPointer().findEndOfWhitespace();
if (matchToken (l, "newmtl")) { materials.add (material); material.name = String (l).trim(); continue; }


+ 3
- 3
examples/OpenGLAppExample/Source/Resources/WavefrontObjParser.h View File

@@ -176,7 +176,7 @@ private:
if (CharacterFunctions::compareUpTo (CharPointer_ASCII (token), t, len) == 0)
{
String::CharPointerType end = t + len;
auto end = t + len;
if (end.isEmpty() || end.isWhitespace())
{
@@ -279,7 +279,7 @@ private:
for (int lineNum = 0; lineNum < lines.size(); ++lineNum)
{
String::CharPointerType l = lines[lineNum].getCharPointer().findEndOfWhitespace();
auto l = lines[lineNum].getCharPointer().findEndOfWhitespace();
if (matchToken (l, "v")) { mesh.vertices.add (parseVertex (l)); continue; }
if (matchToken (l, "vn")) { mesh.normals.add (parseVertex (l)); continue; }
@@ -341,7 +341,7 @@ private:
for (int i = 0; i < lines.size(); ++i)
{
String::CharPointerType l (lines[i].getCharPointer().findEndOfWhitespace());
auto l = lines[i].getCharPointer().findEndOfWhitespace();
if (matchToken (l, "newmtl")) { materials.add (material); material.name = String (l).trim(); continue; }


+ 1
- 1
extras/Projucer/Source/LiveBuildEngine/jucer_ClassDatabase.h View File

@@ -476,7 +476,7 @@ struct ClassDatabase
void add (const Class& c, const String::CharPointerType& localName)
{
const String::CharPointerType nextDoubleColon (CharacterFunctions::find (localName, CharPointer_ASCII ("::")));
auto nextDoubleColon = CharacterFunctions::find (localName, CharPointer_ASCII ("::"));
if (nextDoubleColon.isEmpty())
merge (c);


+ 3
- 3
extras/Projucer/Source/Utility/Helpers/jucer_CodeHelpers.cpp View File

@@ -159,12 +159,12 @@ namespace CodeHelpers
StringArray lines;
{
String::CharPointerType t (text.getCharPointer());
auto t = text.getCharPointer();
bool finished = t.isEmpty();
while (! finished)
{
for (String::CharPointerType startOfLine (t);;)
for (auto startOfLine = t;;)
{
switch (t.getAndAdvance())
{
@@ -437,7 +437,7 @@ namespace CodeHelpers
String getLeadingWhitespace (String line)
{
line = line.removeCharacters ("\r\n");
const String::CharPointerType endOfLeadingWS (line.getCharPointer().findEndOfWhitespace());
auto endOfLeadingWS = line.getCharPointer().findEndOfWhitespace();
return String (line.getCharPointer(), endOfLeadingWS);
}


+ 4
- 3
extras/Projucer/Source/Utility/Helpers/jucer_MiscUtilities.cpp View File

@@ -81,7 +81,7 @@ void setValueIfVoid (Value value, const var& defaultValue)
StringPairArray parsePreprocessorDefs (const String& text)
{
StringPairArray result;
String::CharPointerType s (text.getCharPointer());
auto s = text.getCharPointer();
while (! s.isEmpty())
{
@@ -136,8 +136,9 @@ String createGCCPreprocessorFlags (const StringPairArray& defs)
for (int i = 0; i < defs.size(); ++i)
{
String def (defs.getAllKeys()[i]);
const String value (defs.getAllValues()[i]);
auto def = defs.getAllKeys()[i];
auto value = defs.getAllValues()[i];
if (value.isNotEmpty())
def << "=" << value;


+ 5
- 6
extras/Projucer/Source/Utility/Helpers/jucer_TranslationHelpers.h View File

@@ -38,9 +38,8 @@ struct TranslationHelpers
static void scanFileForTranslations (StringArray& strings, const File& file)
{
const String content (file.loadFileAsString());
String::CharPointerType p (content.getCharPointer());
auto content = file.loadFileAsString();
auto p = content.getCharPointer();
for (;;)
{
@@ -69,11 +68,11 @@ struct TranslationHelpers
if (p.getAndAdvance() == '"')
{
String::CharPointerType start (p);
auto start = p;
for (;;)
{
juce_wchar c = *p;
auto c = *p;
if (c == '"')
{
@@ -101,7 +100,7 @@ struct TranslationHelpers
static juce_wchar readEscapedChar (String::CharPointerType& p)
{
juce_wchar c = *p;
auto c = *p;
switch (c)
{


+ 3
- 3
modules/juce_blocks_basics/littlefoot/juce_LittleFootCompiler.h View File

@@ -193,8 +193,8 @@ private:
private:
String::CharPointerType p;
static bool isIdentifierStart (const juce_wchar c) noexcept { return CharacterFunctions::isLetter (c) || c == '_'; }
static bool isIdentifierBody (const juce_wchar c) noexcept { return CharacterFunctions::isLetterOrDigit (c) || c == '_'; }
static bool isIdentifierStart (juce_wchar c) noexcept { return CharacterFunctions::isLetter (c) || c == '_'; }
static bool isIdentifierBody (juce_wchar c) noexcept { return CharacterFunctions::isLetterOrDigit (c) || c == '_'; }
TokenType matchNextToken()
{
@@ -245,7 +245,7 @@ private:
if (*p == '/')
{
const juce_wchar c2 = p[1];
auto c2 = p[1];
if (c2 == '/') { p = CharacterFunctions::find (p, (juce_wchar) '\n'); continue; }


+ 14
- 14
modules/juce_core/containers/juce_LinkedListPointer.h View File

@@ -111,7 +111,7 @@ public:
*/
LinkedListPointer& getLast() noexcept
{
LinkedListPointer* l = this;
auto* l = this;
while (l->item != nullptr)
l = &(l->item->nextListItem);
@@ -127,7 +127,7 @@ public:
{
int total = 0;
for (ObjectType* i = item; i != nullptr; i = i->nextListItem)
for (auto* i = item; i != nullptr; i = i->nextListItem)
++total;
return total;
@@ -139,7 +139,7 @@ public:
*/
LinkedListPointer& operator[] (int index) noexcept
{
LinkedListPointer* l = this;
auto* l = this;
while (--index >= 0 && l->item != nullptr)
l = &(l->item->nextListItem);
@@ -153,7 +153,7 @@ public:
*/
const LinkedListPointer& operator[] (int index) const noexcept
{
const LinkedListPointer* l = this;
auto* l = this;
while (--index >= 0 && l->item != nullptr)
l = &(l->item->nextListItem);
@@ -164,7 +164,7 @@ public:
/** Returns true if the list contains the given item. */
bool contains (const ObjectType* const itemToLookFor) const noexcept
{
for (ObjectType* i = item; i != nullptr; i = i->nextListItem)
for (auto* i = item; i != nullptr; i = i->nextListItem)
if (itemToLookFor == i)
return true;
@@ -190,7 +190,7 @@ public:
void insertAtIndex (int index, ObjectType* newItem)
{
jassert (newItem != nullptr);
LinkedListPointer* l = this;
auto* l = this;
while (index != 0 && l->item != nullptr)
{
@@ -209,7 +209,7 @@ public:
jassert (newItem != nullptr);
jassert (newItem->nextListItem == nullptr);
ObjectType* const oldItem = item;
auto oldItem = item;
item = newItem;
item->nextListItem = oldItem->nextListItem.item;
oldItem->nextListItem.item = nullptr;
@@ -233,9 +233,9 @@ public:
*/
void addCopyOfList (const LinkedListPointer& other)
{
LinkedListPointer* insertPoint = this;
auto* insertPoint = this;
for (ObjectType* i = other.item; i != nullptr; i = i->nextListItem)
for (auto* i = other.item; i != nullptr; i = i->nextListItem)
{
insertPoint->insertNext (new ObjectType (*i));
insertPoint = &(insertPoint->item->nextListItem);
@@ -248,7 +248,7 @@ public:
*/
ObjectType* removeNext() noexcept
{
ObjectType* const oldItem = item;
auto oldItem = item;
if (oldItem != nullptr)
{
@@ -264,7 +264,7 @@ public:
*/
void remove (ObjectType* const itemToRemove)
{
if (LinkedListPointer* const l = findPointerTo (itemToRemove))
if (auto* l = findPointerTo (itemToRemove))
l->removeNext();
}
@@ -275,7 +275,7 @@ public:
{
while (item != nullptr)
{
ObjectType* const oldItem = item;
auto oldItem = item;
item = oldItem->nextListItem;
delete oldItem;
}
@@ -287,7 +287,7 @@ public:
*/
LinkedListPointer* findPointerTo (ObjectType* const itemToLookFor) noexcept
{
LinkedListPointer* l = this;
auto* l = this;
while (l->item != nullptr)
{
@@ -308,7 +308,7 @@ public:
{
jassert (destArray != nullptr);
for (ObjectType* i = item; i != nullptr; i = i->nextListItem)
for (auto* i = item; i != nullptr; i = i->nextListItem)
*destArray++ = i;
}


+ 104
- 113
modules/juce_core/maths/juce_BigInteger.cpp View File

@@ -52,9 +52,7 @@ int findHighestSetBit (uint32 n) noexcept
//==============================================================================
BigInteger::BigInteger()
: allocatedSize (numPreallocatedInts),
highestBit (-1),
negative (false)
: allocatedSize (numPreallocatedInts)
{
for (int i = 0; i < numPreallocatedInts; ++i)
preallocated[i] = 0;
@@ -75,8 +73,7 @@ BigInteger::BigInteger (const int32 value)
BigInteger::BigInteger (const uint32 value)
: allocatedSize (numPreallocatedInts),
highestBit (31),
negative (false)
highestBit (31)
{
preallocated[0] = value;
@@ -153,7 +150,7 @@ BigInteger& BigInteger::operator= (const BigInteger& other)
if (this != &other)
{
highestBit = other.getHighestBit();
const size_t newAllocatedSize = (size_t) jmax ((size_t) numPreallocatedInts, sizeNeededToHold (highestBit));
auto newAllocatedSize = (size_t) jmax ((size_t) numPreallocatedInts, sizeNeededToHold (highestBit));
if (newAllocatedSize <= numPreallocatedInts)
heapAllocation.free();
@@ -181,7 +178,7 @@ uint32* BigInteger::ensureSize (const size_t numVals)
{
if (numVals > allocatedSize)
{
size_t oldSize = allocatedSize;
auto oldSize = allocatedSize;
allocatedSize = ((numVals + 2) * 3) / 2;
if (heapAllocation == nullptr)
@@ -193,7 +190,7 @@ uint32* BigInteger::ensureSize (const size_t numVals)
{
heapAllocation.realloc (allocatedSize);
for (uint32* values = getValues(); oldSize < allocatedSize; ++oldSize)
for (auto* values = getValues(); oldSize < allocatedSize; ++oldSize)
values[oldSize] = 0;
}
}
@@ -210,14 +207,14 @@ bool BigInteger::operator[] (const int bit) const noexcept
int BigInteger::toInteger() const noexcept
{
const int n = (int) (getValues()[0] & 0x7fffffff);
auto n = (int) (getValues()[0] & 0x7fffffff);
return negative ? -n : n;
}
int64 BigInteger::toInt64() const noexcept
{
const uint32* values = getValues();
const int64 n = (((int64) (values[1] & 0x7fffffff)) << 32) | values[0];
auto* values = getValues();
auto n = (((int64) (values[1] & 0x7fffffff)) << 32) | values[0];
return negative ? -n : n;
}
@@ -225,7 +222,7 @@ BigInteger BigInteger::getBitRange (int startBit, int numBits) const
{
BigInteger r;
numBits = jmin (numBits, getHighestBit() + 1 - startBit);
uint32* const destValues = r.ensureSize (sizeNeededToHold (numBits));
auto* destValues = r.ensureSize (sizeNeededToHold (numBits));
r.highestBit = numBits;
for (int i = 0; numBits > 0;)
@@ -252,12 +249,12 @@ uint32 BigInteger::getBitRangeAsInt (const int startBit, int numBits) const noex
if (numBits <= 0)
return 0;
const size_t pos = bitToIndex (startBit);
const int offset = startBit & 31;
const int endSpace = 32 - numBits;
const uint32* values = getValues();
auto pos = bitToIndex (startBit);
auto offset = startBit & 31;
auto endSpace = 32 - numBits;
auto* values = getValues();
uint32 n = ((uint32) values [pos]) >> offset;
auto n = ((uint32) values [pos]) >> offset;
if (offset > endSpace)
n |= ((uint32) values [pos + 1]) << (32 - offset);
@@ -372,7 +369,7 @@ void BigInteger::negate() noexcept
int BigInteger::countNumberOfSetBits() const noexcept
{
int total = 0;
const uint32* values = getValues();
auto* values = getValues();
for (int i = (int) sizeNeededToHold (highestBit); --i >= 0;)
total += countNumberOfBits (values[i]);
@@ -382,7 +379,7 @@ int BigInteger::countNumberOfSetBits() const noexcept
int BigInteger::getHighestBit() const noexcept
{
const uint32* values = getValues();
auto* values = getValues();
for (int i = (int) bitToIndex (highestBit); i >= 0; --i)
if (uint32 n = values[i])
@@ -393,7 +390,7 @@ int BigInteger::getHighestBit() const noexcept
int BigInteger::findNextSetBit (int i) const noexcept
{
const uint32* values = getValues();
auto* values = getValues();
for (; i <= highestBit; ++i)
if ((values [bitToIndex (i)] & bitToMask (i)) != 0)
@@ -404,7 +401,7 @@ int BigInteger::findNextSetBit (int i) const noexcept
int BigInteger::findNextClearBit (int i) const noexcept
{
const uint32* values = getValues();
auto* values = getValues();
for (; i <= highestBit; ++i)
if ((values [bitToIndex (i)] & bitToMask (i)) == 0)
@@ -426,7 +423,7 @@ BigInteger& BigInteger::operator+= (const BigInteger& other)
{
if (compareAbsolute (other) < 0)
{
BigInteger temp (*this);
auto temp = *this;
temp.negate();
*this = other;
*this -= temp;
@@ -442,9 +439,9 @@ BigInteger& BigInteger::operator+= (const BigInteger& other)
{
highestBit = jmax (highestBit, other.highestBit) + 1;
const size_t numInts = sizeNeededToHold (highestBit);
uint32* const values = ensureSize (numInts);
const uint32* const otherValues = other.getValues();
auto numInts = sizeNeededToHold (highestBit);
auto* values = ensureSize (numInts);
auto* otherValues = other.getValues();
int64 remainder = 0;
for (size_t i = 0; i < numInts; ++i)
@@ -486,18 +483,18 @@ BigInteger& BigInteger::operator-= (const BigInteger& other)
if (compareAbsolute (other) < 0)
{
BigInteger temp (other);
auto temp = other;
swapWith (temp);
*this -= temp;
negate();
return *this;
}
const size_t numInts = sizeNeededToHold (getHighestBit());
const size_t maxOtherInts = sizeNeededToHold (other.getHighestBit());
auto numInts = sizeNeededToHold (getHighestBit());
auto maxOtherInts = sizeNeededToHold (other.getHighestBit());
jassert (numInts >= maxOtherInts);
uint32* const values = getValues();
const uint32* const otherValues = other.getValues();
auto* values = getValues();
auto* otherValues = other.getValues();
int64 amountToSubtract = 0;
for (size_t i = 0; i < numInts; ++i)
@@ -527,24 +524,24 @@ BigInteger& BigInteger::operator*= (const BigInteger& other)
if (this == &other)
return operator*= (BigInteger (other));
int n = getHighestBit();
int t = other.getHighestBit();
auto n = getHighestBit();
auto t = other.getHighestBit();
const bool wasNegative = isNegative();
auto wasNegative = isNegative();
setNegative (false);
BigInteger total;
total.highestBit = n + t + 1;
uint32* const totalValues = total.ensureSize (sizeNeededToHold (total.highestBit) + 1);
auto* totalValues = total.ensureSize (sizeNeededToHold (total.highestBit) + 1);
n >>= 5;
t >>= 5;
BigInteger m (other);
auto m = other;
m.setNegative (false);
const uint32* const mValues = m.getValues();
const uint32* const values = getValues();
auto* mValues = m.getValues();
auto* values = getValues();
for (int i = 0; i <= t; ++i)
{
@@ -552,7 +549,7 @@ BigInteger& BigInteger::operator*= (const BigInteger& other)
for (int j = 0; j <= n; ++j)
{
uint64 uv = (uint64) totalValues[i + j] + (uint64) values[j] * (uint64) mValues[i] + (uint64) c;
auto uv = (uint64) totalValues[i + j] + (uint64) values[j] * (uint64) mValues[i] + (uint64) c;
totalValues[i + j] = (uint32) uv;
c = uv >> 32;
}
@@ -574,8 +571,8 @@ void BigInteger::divideBy (const BigInteger& divisor, BigInteger& remainder)
jassert (this != &remainder); // (can't handle passing itself in to get the remainder)
const int divHB = divisor.getHighestBit();
const int ourHB = getHighestBit();
auto divHB = divisor.getHighestBit();
auto ourHB = getHighestBit();
if (divHB < 0 || ourHB < 0)
{
@@ -585,7 +582,7 @@ void BigInteger::divideBy (const BigInteger& divisor, BigInteger& remainder)
}
else
{
const bool wasNegative = isNegative();
auto wasNegative = isNegative();
swapWith (remainder);
remainder.setNegative (false);
@@ -594,7 +591,7 @@ void BigInteger::divideBy (const BigInteger& divisor, BigInteger& remainder)
BigInteger temp (divisor);
temp.setNegative (false);
int leftShift = ourHB - divHB;
auto leftShift = ourHB - divHB;
temp <<= leftShift;
while (leftShift >= 0)
@@ -631,10 +628,10 @@ BigInteger& BigInteger::operator|= (const BigInteger& other)
if (other.highestBit >= 0)
{
uint32* const values = ensureSize (sizeNeededToHold (other.highestBit));
const uint32* const otherValues = other.getValues();
auto* values = ensureSize (sizeNeededToHold (other.highestBit));
auto* otherValues = other.getValues();
int n = (int) bitToIndex (other.highestBit) + 1;
auto n = (int) bitToIndex (other.highestBit) + 1;
while (--n >= 0)
values[n] |= otherValues[n];
@@ -656,10 +653,10 @@ BigInteger& BigInteger::operator&= (const BigInteger& other)
// this operation doesn't take into account negative values..
jassert (isNegative() == other.isNegative());
uint32* const values = getValues();
const uint32* const otherValues = other.getValues();
auto* values = getValues();
auto* otherValues = other.getValues();
int n = (int) allocatedSize;
auto n = (int) allocatedSize;
while (n > (int) other.allocatedSize)
values[--n] = 0;
@@ -687,10 +684,10 @@ BigInteger& BigInteger::operator^= (const BigInteger& other)
if (other.highestBit >= 0)
{
uint32* const values = ensureSize (sizeNeededToHold (other.highestBit));
const uint32* const otherValues = other.getValues();
auto* values = ensureSize (sizeNeededToHold (other.highestBit));
auto* otherValues = other.getValues();
int n = (int) bitToIndex (other.highestBit) + 1;
auto n = (int) bitToIndex (other.highestBit) + 1;
while (--n >= 0)
values[n] ^= otherValues[n];
@@ -714,31 +711,31 @@ BigInteger& BigInteger::operator%= (const BigInteger& divisor)
BigInteger& BigInteger::operator++() { return operator+= (1); }
BigInteger& BigInteger::operator--() { return operator-= (1); }
BigInteger BigInteger::operator++ (int) { const BigInteger old (*this); operator+= (1); return old; }
BigInteger BigInteger::operator-- (int) { const BigInteger old (*this); operator-= (1); return old; }
BigInteger BigInteger::operator-() const { BigInteger b (*this); b.negate(); return b; }
BigInteger BigInteger::operator+ (const BigInteger& other) const { BigInteger b (*this); return b += other; }
BigInteger BigInteger::operator- (const BigInteger& other) const { BigInteger b (*this); return b -= other; }
BigInteger BigInteger::operator* (const BigInteger& other) const { BigInteger b (*this); return b *= other; }
BigInteger BigInteger::operator/ (const BigInteger& other) const { BigInteger b (*this); return b /= other; }
BigInteger BigInteger::operator| (const BigInteger& other) const { BigInteger b (*this); return b |= other; }
BigInteger BigInteger::operator& (const BigInteger& other) const { BigInteger b (*this); return b &= other; }
BigInteger BigInteger::operator^ (const BigInteger& other) const { BigInteger b (*this); return b ^= other; }
BigInteger BigInteger::operator% (const BigInteger& other) const { BigInteger b (*this); return b %= other; }
BigInteger BigInteger::operator<< (const int numBits) const { BigInteger b (*this); return b <<= numBits; }
BigInteger BigInteger::operator>> (const int numBits) const { BigInteger b (*this); return b >>= numBits; }
BigInteger BigInteger::operator++ (int) { const auto old (*this); operator+= (1); return old; }
BigInteger BigInteger::operator-- (int) { const auto old (*this); operator-= (1); return old; }
BigInteger BigInteger::operator-() const { auto b (*this); b.negate(); return b; }
BigInteger BigInteger::operator+ (const BigInteger& other) const { auto b (*this); return b += other; }
BigInteger BigInteger::operator- (const BigInteger& other) const { auto b (*this); return b -= other; }
BigInteger BigInteger::operator* (const BigInteger& other) const { auto b (*this); return b *= other; }
BigInteger BigInteger::operator/ (const BigInteger& other) const { auto b (*this); return b /= other; }
BigInteger BigInteger::operator| (const BigInteger& other) const { auto b (*this); return b |= other; }
BigInteger BigInteger::operator& (const BigInteger& other) const { auto b (*this); return b &= other; }
BigInteger BigInteger::operator^ (const BigInteger& other) const { auto b (*this); return b ^= other; }
BigInteger BigInteger::operator% (const BigInteger& other) const { auto b (*this); return b %= other; }
BigInteger BigInteger::operator<< (const int numBits) const { auto b (*this); return b <<= numBits; }
BigInteger BigInteger::operator>> (const int numBits) const { auto b (*this); return b >>= numBits; }
BigInteger& BigInteger::operator<<= (const int numBits) { shiftBits (numBits, 0); return *this; }
BigInteger& BigInteger::operator>>= (const int numBits) { shiftBits (-numBits, 0); return *this; }
//==============================================================================
int BigInteger::compare (const BigInteger& other) const noexcept
{
const bool isNeg = isNegative();
auto isNeg = isNegative();
if (isNeg == other.isNegative())
{
const int absComp = compareAbsolute (other);
auto absComp = compareAbsolute (other);
return isNeg ? -absComp : absComp;
}
@@ -747,14 +744,14 @@ int BigInteger::compare (const BigInteger& other) const noexcept
int BigInteger::compareAbsolute (const BigInteger& other) const noexcept
{
const int h1 = getHighestBit();
const int h2 = other.getHighestBit();
auto h1 = getHighestBit();
auto h2 = other.getHighestBit();
if (h1 > h2) return 1;
if (h1 < h2) return -1;
const uint32* const values = getValues();
const uint32* const otherValues = other.getValues();
auto* values = getValues();
auto* otherValues = other.getValues();
for (int i = (int) bitToIndex (h1); i >= 0; --i)
if (values[i] != otherValues[i])
@@ -783,10 +780,9 @@ void BigInteger::shiftLeft (int bits, const int startBit)
}
else
{
uint32* const values = ensureSize (sizeNeededToHold (highestBit + bits));
const size_t wordsToMove = bitToIndex (bits);
size_t numOriginalInts = bitToIndex (highestBit);
auto* values = ensureSize (sizeNeededToHold (highestBit + bits));
auto wordsToMove = bitToIndex (bits);
auto numOriginalInts = bitToIndex (highestBit);
highestBit += bits;
if (wordsToMove > 0)
@@ -802,7 +798,7 @@ void BigInteger::shiftLeft (int bits, const int startBit)
if (bits != 0)
{
const int invBits = 32 - bits;
auto invBits = 32 - bits;
for (size_t i = bitToIndex (highestBit); i > wordsToMove; --i)
values[i] = (values[i] << bits) | (values[i - 1] >> invBits);
@@ -831,18 +827,17 @@ void BigInteger::shiftRight (int bits, const int startBit)
}
else
{
const size_t wordsToMove = bitToIndex (bits);
size_t top = 1 + bitToIndex (highestBit) - wordsToMove;
auto wordsToMove = bitToIndex (bits);
auto top = 1 + bitToIndex (highestBit) - wordsToMove;
highestBit -= bits;
uint32* const values = getValues();
auto* values = getValues();
if (wordsToMove > 0)
{
size_t i;
for (i = 0; i < top; ++i)
for (size_t i = 0; i < top; ++i)
values[i] = values[i + wordsToMove];
for (i = 0; i < wordsToMove; ++i)
for (size_t i = 0; i < wordsToMove; ++i)
values[top + i] = 0;
bits &= 31;
@@ -850,7 +845,7 @@ void BigInteger::shiftRight (int bits, const int startBit)
if (bits != 0)
{
const int invBits = 32 - bits;
auto invBits = 32 - bits;
--top;
for (size_t i = 0; i < top; ++i)
@@ -891,7 +886,7 @@ static BigInteger simpleGCD (BigInteger* m, BigInteger* n)
BigInteger BigInteger::findGreatestCommonDivisor (BigInteger n) const
{
BigInteger m (*this);
auto m = *this;
while (! n.isZero())
{
@@ -911,14 +906,13 @@ BigInteger BigInteger::findGreatestCommonDivisor (BigInteger n) const
void BigInteger::exponentModulo (const BigInteger& exponent, const BigInteger& modulus)
{
*this %= modulus;
BigInteger exp (exponent);
auto exp = exponent;
exp %= modulus;
if (modulus.getHighestBit() <= 32 || modulus % 2 == 0)
{
BigInteger a (*this);
const int n = exp.getHighestBit();
auto a = *this;
auto n = exp.getHighestBit();
for (int i = n; --i >= 0;)
{
@@ -933,7 +927,7 @@ void BigInteger::exponentModulo (const BigInteger& exponent, const BigInteger& m
}
else
{
const int Rfactor = modulus.getHighestBit() + 1;
auto Rfactor = modulus.getHighestBit() + 1;
BigInteger R (1);
R.shiftLeft (Rfactor, 0);
@@ -957,9 +951,9 @@ void BigInteger::exponentModulo (const BigInteger& exponent, const BigInteger& m
}
else
{
BigInteger am (((*this) * R) % modulus);
BigInteger xm (am);
BigInteger um (R % modulus);
auto am = (*this * R) % modulus;
auto xm = am;
auto um = R % modulus;
for (int i = exp.getHighestBit(); --i >= 0;)
{
@@ -979,8 +973,7 @@ void BigInteger::montgomeryMultiplication (const BigInteger& other, const BigInt
const BigInteger& modulusp, const int k)
{
*this *= other;
BigInteger t (*this);
auto t = *this;
setRange (k, highestBit - k + 1, false);
*this *= modulusp;
@@ -1000,7 +993,6 @@ void BigInteger::extendedEuclidean (const BigInteger& a, const BigInteger& b,
BigInteger& x, BigInteger& y)
{
BigInteger p(a), q(b), gcd(1);
Array<BigInteger> tempValues;
while (! q.isZero())
@@ -1016,7 +1008,7 @@ void BigInteger::extendedEuclidean (const BigInteger& a, const BigInteger& b,
for (int i = 1; i < tempValues.size(); ++i)
{
const BigInteger& v = tempValues.getReference (tempValues.size() - i - 1);
auto& v = tempValues.getReference (tempValues.size() - i - 1);
if ((i & 1) != 0)
x += y * v;
@@ -1054,8 +1046,8 @@ void BigInteger::inverseModulo (const BigInteger& modulus)
return;
}
BigInteger a1 (modulus), a2 (*this);
BigInteger b1 (modulus), b2 (1);
BigInteger a1 (modulus), a2 (*this),
b1 (modulus), b2 (1);
while (! a2.isOne())
{
@@ -1064,7 +1056,7 @@ void BigInteger::inverseModulo (const BigInteger& modulus)
temp1 = a2;
temp1 *= multiplier;
BigInteger temp2 (a1);
auto temp2 = a1;
temp2 -= temp1;
a1 = a2;
a2 = temp2;
@@ -1093,17 +1085,16 @@ OutputStream& JUCE_CALLTYPE operator<< (OutputStream& stream, const BigInteger&
String BigInteger::toString (const int base, const int minimumNumCharacters) const
{
String s;
BigInteger v (*this);
auto v = *this;
if (base == 2 || base == 8 || base == 16)
{
const int bits = (base == 2) ? 1 : (base == 8 ? 3 : 4);
auto bits = (base == 2) ? 1 : (base == 8 ? 3 : 4);
static const char hexDigits[] = "0123456789abcdef";
for (;;)
{
const uint32 remainder = v.getBitRangeAsInt (0, bits);
auto remainder = v.getBitRangeAsInt (0, bits);
v >>= bits;
if (remainder == 0 && v.isZero())
@@ -1141,18 +1132,18 @@ String BigInteger::toString (const int base, const int minimumNumCharacters) con
void BigInteger::parseString (StringRef text, const int base)
{
clear();
String::CharPointerType t (text.text.findEndOfWhitespace());
auto t = text.text.findEndOfWhitespace();
setNegative (*t == (juce_wchar) '-');
if (base == 2 || base == 8 || base == 16)
{
const int bits = (base == 2) ? 1 : (base == 8 ? 3 : 4);
auto bits = (base == 2) ? 1 : (base == 8 ? 3 : 4);
for (;;)
{
const juce_wchar c = t.getAndAdvance();
const int digit = CharacterFunctions::getHexDigitValue (c);
auto c = t.getAndAdvance();
auto digit = CharacterFunctions::getHexDigitValue (c);
if (((uint32) digit) < (uint32) base)
{
@@ -1171,7 +1162,7 @@ void BigInteger::parseString (StringRef text, const int base)
for (;;)
{
const juce_wchar c = t.getAndAdvance();
auto c = t.getAndAdvance();
if (c >= '0' && c <= '9')
{
@@ -1188,9 +1179,9 @@ void BigInteger::parseString (StringRef text, const int base)
MemoryBlock BigInteger::toMemoryBlock() const
{
const int numBytes = (getHighestBit() + 8) >> 3;
auto numBytes = (getHighestBit() + 8) >> 3;
MemoryBlock mb ((size_t) numBytes);
const uint32* const values = getValues();
auto* values = getValues();
for (int i = 0; i < numBytes; ++i)
mb[i] = (char) ((values[i / 4] >> ((i & 3) * 8)) & 0xff);
@@ -1200,9 +1191,9 @@ MemoryBlock BigInteger::toMemoryBlock() const
void BigInteger::loadFromMemoryBlock (const MemoryBlock& data)
{
const size_t numBytes = data.getSize();
const size_t numInts = 1 + (numBytes / sizeof (uint32));
uint32* const values = ensureSize (numInts);
auto numBytes = data.getSize();
auto numInts = 1 + (numBytes / sizeof (uint32));
auto* values = ensureSize (numInts);
for (int i = 0; i < (int) numInts - 1; ++i)
values[i] = (uint32) ByteOrder::littleEndianInt (addBytesToPointer (data.getData(), sizeof (uint32) * (size_t) i));


+ 2
- 2
modules/juce_core/maths/juce_BigInteger.h View File

@@ -323,8 +323,8 @@ private:
HeapBlock<uint32> heapAllocation;
uint32 preallocated[numPreallocatedInts];
size_t allocatedSize;
int highestBit;
bool negative;
int highestBit = -1;
bool negative = false;
uint32* getValues() const noexcept;
uint32* ensureSize (size_t);


+ 6
- 6
modules/juce_core/maths/juce_Expression.cpp View File

@@ -626,10 +626,10 @@ struct Expression::Helpers
class SymbolCheckVisitor : public Term::SymbolVisitor
{
public:
SymbolCheckVisitor (const Symbol& symbol_) : wasFound (false), symbol (symbol_) {}
SymbolCheckVisitor (const Symbol& s) : symbol (s) {}
void useSymbol (const Symbol& s) { wasFound = wasFound || s == symbol; }
bool wasFound;
bool wasFound = false;
private:
const Symbol& symbol;
@@ -725,7 +725,7 @@ struct Expression::Helpers
bool readIdentifier (String& identifier) noexcept
{
text = text.findEndOfWhitespace();
String::CharPointerType t (text);
auto t = text;
int numChars = 0;
if (t.isLetter() || *t == '_')
@@ -753,9 +753,9 @@ struct Expression::Helpers
Term* readNumber() noexcept
{
text = text.findEndOfWhitespace();
String::CharPointerType t (text);
auto t = text;
bool isResolutionTarget = (*t == '@');
const bool isResolutionTarget = (*t == '@');
if (isResolutionTarget)
{
++t;
@@ -968,7 +968,7 @@ Expression& Expression::operator= (Expression&& other) noexcept
Expression::Expression (const String& stringToParse, String& parseError)
{
String::CharPointerType text (stringToParse.getCharPointer());
auto text = stringToParse.getCharPointer();
Helpers::Parser parser (text);
term = parser.readUpToComma();
parseError = parser.error;


+ 10
- 10
modules/juce_core/text/juce_Base64.cpp View File

@@ -26,24 +26,24 @@ namespace juce
bool Base64::convertToBase64 (OutputStream& base64Result, const void* sourceData, size_t sourceDataSize)
{
static const char lookup[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
const uint8* source = static_cast<const uint8*> (sourceData);
auto* source = static_cast<const uint8*> (sourceData);
while (sourceDataSize > 0)
{
char frame[4];
const uint8 byte0 = *source++;
auto byte0 = *source++;
frame[0] = lookup [(byte0 & 0xfcu) >> 2];
uint32 bits = (byte0 & 0x03u) << 4;
if (sourceDataSize > 1)
{
const uint8 byte1 = *source++;
auto byte1 = *source++;
frame[1] = lookup[bits | ((byte1 & 0xf0u) >> 4)];
bits = (byte1 & 0x0fu) << 2;
if (sourceDataSize > 2)
{
const uint8 byte2 = *source++;
auto byte2 = *source++;
frame[2] = lookup[bits | ((byte2 & 0xc0u) >> 6)];
frame[3] = lookup[byte2 & 0x3fu];
sourceDataSize -= 3;
@@ -72,13 +72,13 @@ bool Base64::convertToBase64 (OutputStream& base64Result, const void* sourceData
bool Base64::convertFromBase64 (OutputStream& binaryOutput, StringRef base64TextInput)
{
for (String::CharPointerType s = base64TextInput.text; ! s.isEmpty();)
for (auto s = base64TextInput.text; ! s.isEmpty();)
{
uint8 data[4];
for (int i = 0; i < 4; ++i)
{
uint32 c = (uint32) s.getAndAdvance();
auto c = (uint32) s.getAndAdvance();
if (c >= 'A' && c <= 'Z') c -= 'A';
else if (c >= 'a' && c <= 'z') c -= 'a' - 26;
@@ -143,15 +143,15 @@ public:
{
beginTest ("Base64");
Random r = getRandom();
auto r = getRandom();
for (int i = 1000; --i >= 0;)
{
const MemoryBlock original (createRandomData (r));
String asBase64 (Base64::toBase64 (original.getData(), original.getSize()));
auto original = createRandomData (r);
auto asBase64 = Base64::toBase64 (original.getData(), original.getSize());
MemoryOutputStream out;
expect (Base64::convertFromBase64 (out, asBase64));
MemoryBlock result = out.getMemoryBlock();
auto result = out.getMemoryBlock();
expect (result == original);
}
}


+ 1
- 1
modules/juce_core/text/juce_CharacterFunctions.h View File

@@ -450,7 +450,7 @@ public:
template <typename DestCharPointerType, typename SrcCharPointerType>
static void copyAll (DestCharPointerType& dest, SrcCharPointerType src) noexcept
{
while (juce_wchar c = src.getAndAdvance())
while (auto c = src.getAndAdvance())
dest.write (c);
dest.writeNull();


+ 9
- 11
modules/juce_core/text/juce_LocalisedStrings.cpp View File

@@ -94,11 +94,11 @@ namespace
static int findCloseQuote (const String& text, int startPos)
{
juce_wchar lastChar = 0;
String::CharPointerType t (text.getCharPointer() + startPos);
auto t = text.getCharPointer() + startPos;
for (;;)
{
const juce_wchar c = t.getAndAdvance();
auto c = t.getAndAdvance();
if (c == 0 || (c == '"' && lastChar != '\\'))
break;
@@ -127,22 +127,20 @@ void LocalisedStrings::loadFromText (const String& fileContents, bool ignoreCase
StringArray lines;
lines.addLines (fileContents);
for (int i = 0; i < lines.size(); ++i)
for (auto& l : lines)
{
String line (lines[i].trim());
auto line = l.trim();
if (line.startsWithChar ('"'))
{
int closeQuote = findCloseQuote (line, 1);
const String originalText (unescapeString (line.substring (1, closeQuote)));
auto closeQuote = findCloseQuote (line, 1);
auto originalText = unescapeString (line.substring (1, closeQuote));
if (originalText.isNotEmpty())
{
const int openingQuote = findCloseQuote (line, closeQuote + 1);
auto openingQuote = findCloseQuote (line, closeQuote + 1);
closeQuote = findCloseQuote (line, openingQuote + 1);
const String newText (unescapeString (line.substring (openingQuote + 1, closeQuote)));
auto newText = unescapeString (line.substring (openingQuote + 1, closeQuote));
if (newText.isNotEmpty())
translations.set (originalText, newText);
@@ -199,7 +197,7 @@ JUCE_API String translate (const String& text, const String& resultIfNotFound)
{
const SpinLock::ScopedLockType sl (currentMappingsLock);
if (const LocalisedStrings* const mappings = LocalisedStrings::getCurrentMappings())
if (auto* mappings = LocalisedStrings::getCurrentMappings())
return mappings->translate (text, resultIfNotFound);
return resultIfNotFound;


+ 20
- 20
modules/juce_core/text/juce_TextDiff.cpp View File

@@ -33,7 +33,7 @@ struct TextDiffHelpers
StringRegion (const String& s) noexcept
: text (s.getCharPointer()), start (0), length (s.length()) {}
StringRegion (const String::CharPointerType t, int s, int len) noexcept
StringRegion (String::CharPointerType t, int s, int len) noexcept
: text (t), start (s), length (len) {}
void incrementStart() noexcept { ++text; ++start; --length; }
@@ -42,7 +42,7 @@ struct TextDiffHelpers
int start, length;
};
static void addInsertion (TextDiff& td, const String::CharPointerType text, int index, int length)
static void addInsertion (TextDiff& td, String::CharPointerType text, int index, int length)
{
TextDiff::Change c;
c.insertedText = String (text, (size_t) length);
@@ -63,8 +63,8 @@ struct TextDiffHelpers
{
for (;;)
{
const juce_wchar ca = *a.text;
const juce_wchar cb = *b.text;
auto ca = *a.text;
auto cb = *b.text;
if (ca != cb || ca == 0)
break;
@@ -79,8 +79,8 @@ struct TextDiffHelpers
static void diffRecursively (TextDiff& td, StringRegion a, StringRegion b)
{
int indexA = 0, indexB = 0;
const int len = findLongestCommonSubstring (a.text, a.length, indexA,
b.text, b.length, indexB);
auto len = findLongestCommonSubstring (a.text, a.length, indexA,
b.text, b.length, indexB);
if (len >= minLengthToMatch)
{
@@ -112,11 +112,11 @@ struct TextDiffHelpers
return findCommonSuffix (a, lenA, indexInA,
b, lenB, indexInB);
const size_t scratchSpace = sizeof (int) * (2 + 2 * (size_t) lenB);
auto scratchSpace = sizeof (int) * (2 + 2 * (size_t) lenB);
if (scratchSpace < 4096)
{
int* scratch = (int*) alloca (scratchSpace);
auto* scratch = (int*) alloca (scratchSpace);
return findLongestCommonSubstring (a, lenA, indexInA, b, lenB, indexInB, scratchSpace, scratch);
}
@@ -130,16 +130,16 @@ struct TextDiffHelpers
{
zeromem (lines, scratchSpace);
int* l0 = lines;
int* l1 = l0 + lenB + 1;
auto* l0 = lines;
auto* l1 = l0 + lenB + 1;
int loopsWithoutImprovement = 0;
int bestLength = 0;
for (int i = 0; i < lenA; ++i)
{
const juce_wchar ca = a.getAndAdvance();
String::CharPointerType b2 (b);
auto ca = a.getAndAdvance();
auto b2 = b;
for (int j = 0; j < lenB; ++j)
{
@@ -149,7 +149,7 @@ struct TextDiffHelpers
}
else
{
const int len = l0[j] + 1;
auto len = l0[j] + 1;
l1[j + 1] = len;
if (len > bestLength)
@@ -173,8 +173,8 @@ struct TextDiffHelpers
return bestLength;
}
static int findCommonSuffix (String::CharPointerType a, const int lenA, int& indexInA,
String::CharPointerType b, const int lenB, int& indexInB) noexcept
static int findCommonSuffix (String::CharPointerType a, int lenA, int& indexInA,
String::CharPointerType b, int lenB, int& indexInB) noexcept
{
int length = 0;
a += lenA - 1;
@@ -200,8 +200,8 @@ TextDiff::TextDiff (const String& original, const String& target)
String TextDiff::appliedTo (String text) const
{
for (int i = 0; i < changes.size(); ++i)
text = changes.getReference(i).appliedTo (text);
for (auto& c : changes)
text = c.appliedTo (text);
return text;
}
@@ -249,7 +249,7 @@ public:
void testDiff (const String& a, const String& b)
{
TextDiff diff (a, b);
const String result (diff.appliedTo (a));
auto result = diff.appliedTo (a);
expectEquals (result, b);
}
@@ -257,7 +257,7 @@ public:
{
beginTest ("TextDiff");
Random r = getRandom();
auto r = getRandom();
testDiff (String(), String());
testDiff ("x", String());
@@ -269,7 +269,7 @@ public:
for (int i = 1000; --i >= 0;)
{
String s (createString (r));
auto s = createString (r);
testDiff (s, createString (r));
testDiff (s + createString (r), s + createString (r));
}


+ 41
- 38
modules/juce_core/time/juce_Time.cpp View File

@@ -28,7 +28,7 @@ namespace TimeHelpers
static std::tm millisToLocal (int64 millis) noexcept
{
#if JUCE_WINDOWS && JUCE_MINGW
time_t now = (time_t) (millis / 1000);
auto now = (time_t) (millis / 1000);
return *localtime (&now);
#elif JUCE_WINDOWS
@@ -42,7 +42,7 @@ namespace TimeHelpers
#else
std::tm result;
time_t now = (time_t) (millis / 1000);
auto now = (time_t) (millis / 1000);
if (localtime_r (&now, &result) == nullptr)
zerostruct (result);
@@ -54,7 +54,7 @@ namespace TimeHelpers
static std::tm millisToUTC (int64 millis) noexcept
{
#if JUCE_WINDOWS && JUCE_MINGW
time_t now = (time_t) (millis / 1000);
auto now = (time_t) (millis / 1000);
return *gmtime (&now);
#elif JUCE_WINDOWS
@@ -68,7 +68,7 @@ namespace TimeHelpers
#else
std::tm result;
time_t now = (time_t) (millis / 1000);
auto now = (time_t) (millis / 1000);
if (gmtime_r (&now, &result) == nullptr)
zerostruct (result);
@@ -79,7 +79,7 @@ namespace TimeHelpers
static int getUTCOffsetSeconds (const int64 millis) noexcept
{
std::tm utc = millisToUTC (millis);
auto utc = millisToUTC (millis);
utc.tm_isdst = -1; // Treat this UTC time as local to find the offset
return (int) ((millis / 1000) - (int64) mktime (&utc));
@@ -110,14 +110,14 @@ namespace TimeHelpers
{
HeapBlock<StringType::CharType> buffer (bufferSize);
const size_t numChars =
#if JUCE_ANDROID
strftime (buffer, bufferSize - 1, format.toUTF8(), tm);
#elif JUCE_WINDOWS
wcsftime (buffer, bufferSize - 1, format.toWideCharPointer(), tm);
#else
wcsftime (buffer, bufferSize - 1, format.toUTF32(), tm);
#endif
auto numChars =
#if JUCE_ANDROID
strftime (buffer, bufferSize - 1, format.toUTF8(), tm);
#elif JUCE_WINDOWS
wcsftime (buffer, bufferSize - 1, format.toWideCharPointer(), tm);
#else
wcsftime (buffer, bufferSize - 1, format.toUTF32(), tm);
#endif
if (numChars > 0 || format.isEmpty())
return String (StringType (buffer),
@@ -189,18 +189,13 @@ Time::Time (const Time& other) noexcept : millisSinceEpoch (other.millisSinceEp
{
}
Time::Time (const int64 ms) noexcept : millisSinceEpoch (ms)
Time::Time (int64 ms) noexcept : millisSinceEpoch (ms)
{
}
Time::Time (const int year,
const int month,
const int day,
const int hours,
const int minutes,
const int seconds,
const int milliseconds,
const bool useLocalTime) noexcept
Time::Time (int year, int month, int day,
int hours, int minutes, int seconds, int milliseconds,
bool useLocalTime) noexcept
{
std::tm t;
t.tm_year = year - 1900;
@@ -250,7 +245,7 @@ uint32 juce_millisecondsSinceStartup() noexcept;
uint32 Time::getMillisecondCounter() noexcept
{
const uint32 now = juce_millisecondsSinceStartup();
auto now = juce_millisecondsSinceStartup();
if (now < TimeHelpers::lastMSCounterValue)
{
@@ -276,16 +271,16 @@ uint32 Time::getApproximateMillisecondCounter() noexcept
return TimeHelpers::lastMSCounterValue;
}
void Time::waitForMillisecondCounter (const uint32 targetTime) noexcept
void Time::waitForMillisecondCounter (uint32 targetTime) noexcept
{
for (;;)
{
const uint32 now = getMillisecondCounter();
auto now = getMillisecondCounter();
if (now >= targetTime)
break;
const int toWait = (int) (targetTime - now);
auto toWait = (int) (targetTime - now);
if (toWait > 2)
{
@@ -332,14 +327,14 @@ String Time::toString (const bool includeDate,
if (includeTime)
{
const int mins = getMinutes();
auto mins = getMinutes();
result << (use24HourClock ? getHours() : getHoursInAmPmFormat())
<< (mins < 10 ? ":0" : ":") << mins;
if (includeSeconds)
{
const int secs = getSeconds();
auto secs = getSeconds();
result << (secs < 10 ? ":0" : ":") << secs;
}
@@ -369,7 +364,7 @@ int Time::getMilliseconds() const noexcept { return TimeHelpers::extendedModulo
int Time::getHoursInAmPmFormat() const noexcept
{
const int hours = getHours();
auto hours = getHours();
if (hours == 0) return 12;
if (hours <= 12) return hours;
@@ -408,7 +403,7 @@ String Time::getTimeZone() const noexcept
#else
tzset();
const char** const zonePtr = (const char**) tzname;
auto zonePtr = (const char**) tzname;
zone[0] = zonePtr[0];
zone[1] = zonePtr[1];
#endif
@@ -482,17 +477,19 @@ static int parseFixedSizeIntAndSkip (String::CharPointerType& t, int numChars, c
Time Time::fromISO8601 (StringRef iso) noexcept
{
String::CharPointerType t = iso.text;
auto t = iso.text;
auto year = parseFixedSizeIntAndSkip (t, 4, '-');
const int year = parseFixedSizeIntAndSkip (t, 4, '-');
if (year < 0)
return {};
const int month = parseFixedSizeIntAndSkip (t, 2, '-');
auto month = parseFixedSizeIntAndSkip (t, 2, '-');
if (month < 0)
return {};
const int day = parseFixedSizeIntAndSkip (t, 2, 0);
auto day = parseFixedSizeIntAndSkip (t, 2, 0);
if (day < 0)
return {};
@@ -502,14 +499,17 @@ Time Time::fromISO8601 (StringRef iso) noexcept
{
++t;
hours = parseFixedSizeIntAndSkip (t, 2, ':');
if (hours < 0)
return {};
minutes = parseFixedSizeIntAndSkip (t, 2, ':');
if (minutes < 0)
return {};
auto seconds = parseFixedSizeIntAndSkip (t, 2, 0);
if (seconds < 0)
return {};
@@ -517,6 +517,7 @@ Time Time::fromISO8601 (StringRef iso) noexcept
{
++t;
milliseconds = parseFixedSizeIntAndSkip (t, 3, 0);
if (milliseconds < 0)
return {};
}
@@ -524,19 +525,21 @@ Time Time::fromISO8601 (StringRef iso) noexcept
milliseconds += 1000 * seconds;
}
const juce_wchar nextChar = t.getAndAdvance();
auto nextChar = t.getAndAdvance();
if (nextChar == '-' || nextChar == '+')
{
const int offsetHours = parseFixedSizeIntAndSkip (t, 2, ':');
auto offsetHours = parseFixedSizeIntAndSkip (t, 2, ':');
if (offsetHours < 0)
return {};
const int offsetMinutes = parseFixedSizeIntAndSkip (t, 2, 0);
auto offsetMinutes = parseFixedSizeIntAndSkip (t, 2, 0);
if (offsetMinutes < 0)
return {};
const int offsetMs = (offsetHours * 60 + offsetMinutes) * 60 * 1000;
auto offsetMs = (offsetHours * 60 + offsetMinutes) * 60 * 1000;
milliseconds += nextChar == '-' ? offsetMs : -offsetMs; // NB: this seems backwards but is correct!
}
else if (nextChar != 0 && nextChar != 'Z')


+ 61
- 69
modules/juce_core/xml/juce_XmlElement.cpp View File

@@ -212,11 +212,11 @@ namespace XmlOutputFunctions
static void escapeIllegalXmlChars (OutputStream& outputStream, const String& text, const bool changeNewLines)
{
String::CharPointerType t (text.getCharPointer());
auto t = text.getCharPointer();
for (;;)
{
const uint32 character = (uint32) t.getAndAdvance();
auto character = (uint32) t.getAndAdvance();
if (character == 0)
break;
@@ -229,22 +229,22 @@ namespace XmlOutputFunctions
{
switch (character)
{
case '&': outputStream << "&amp;"; break;
case '"': outputStream << "&quot;"; break;
case '>': outputStream << "&gt;"; break;
case '<': outputStream << "&lt;"; break;
case '\n':
case '\r':
if (! changeNewLines)
{
outputStream << (char) character;
case '&': outputStream << "&amp;"; break;
case '"': outputStream << "&quot;"; break;
case '>': outputStream << "&gt;"; break;
case '<': outputStream << "&lt;"; break;
case '\n':
case '\r':
if (! changeNewLines)
{
outputStream << (char) character;
break;
}
// Note: deliberate fall-through here!
default:
outputStream << "&#" << ((int) character) << ';';
break;
}
// Note: deliberate fall-through here!
default:
outputStream << "&#" << ((int) character) << ';';
break;
}
}
}
@@ -271,10 +271,10 @@ void XmlElement::writeElementAsText (OutputStream& outputStream,
outputStream << tagName;
{
const size_t attIndent = (size_t) (indentationLevel + tagName.length() + 1);
auto attIndent = (size_t) (indentationLevel + tagName.length() + 1);
int lineLen = 0;
for (const XmlAttributeNode* att = attributes; att != nullptr; att = att->nextListItem)
for (auto* att = attributes.get(); att != nullptr; att = att->nextListItem)
{
if (lineLen > lineWrapLength && indentationLevel >= 0)
{
@@ -283,7 +283,7 @@ void XmlElement::writeElementAsText (OutputStream& outputStream,
lineLen = 0;
}
const int64 startPos = outputStream.getPosition();
auto startPos = outputStream.getPosition();
outputStream.writeByte (' ');
outputStream << att->name;
outputStream.write ("=\"", 2);
@@ -293,13 +293,12 @@ void XmlElement::writeElementAsText (OutputStream& outputStream,
}
}
if (firstChildElement != nullptr)
if (auto* child = firstChildElement.get())
{
outputStream.writeByte ('>');
bool lastWasTextNode = false;
for (XmlElement* child = firstChildElement; child != nullptr; child = child->nextListItem)
for (; child != nullptr; child = child->nextListItem)
{
if (child->isTextElement())
{
@@ -350,12 +349,9 @@ String XmlElement::createDocument (StringRef dtdToUse,
return mem.toUTF8();
}
void XmlElement::writeToStream (OutputStream& output,
StringRef dtdToUse,
const bool allOnOneLine,
const bool includeXmlHeader,
StringRef encodingType,
const int lineWrapLength) const
void XmlElement::writeToStream (OutputStream& output, StringRef dtdToUse,
bool allOnOneLine, bool includeXmlHeader,
StringRef encodingType, int lineWrapLength) const
{
using namespace XmlOutputFunctions;
@@ -385,10 +381,8 @@ void XmlElement::writeToStream (OutputStream& output,
output << newLine;
}
bool XmlElement::writeToFile (const File& file,
StringRef dtdToUse,
StringRef encodingType,
const int lineWrapLength) const
bool XmlElement::writeToFile (const File& file, StringRef dtdToUse,
StringRef encodingType, int lineWrapLength) const
{
TemporaryFile tempFile (file);
@@ -399,7 +393,6 @@ bool XmlElement::writeToFile (const File& file,
return false;
writeToStream (out, dtdToUse, false, true, encodingType, lineWrapLength);
out.flush(); // (called explicitly to force an fsync on posix)
if (out.getStatus().failed())
@@ -438,7 +431,7 @@ bool XmlElement::hasTagNameIgnoringNamespace (StringRef possibleTagName) const
XmlElement* XmlElement::getNextElementWithTagName (StringRef requiredTagName) const
{
XmlElement* e = nextListItem;
auto* e = nextListItem.get();
while (e != nullptr && ! e->hasTagName (requiredTagName))
e = e->nextListItem;
@@ -464,7 +457,7 @@ static const String& getEmptyStringRef() noexcept
const String& XmlElement::getAttributeName (const int index) const noexcept
{
if (const XmlAttributeNode* const att = attributes [index])
if (auto* att = attributes[index].get())
return att->name.toString();
return getEmptyStringRef();
@@ -472,7 +465,7 @@ const String& XmlElement::getAttributeName (const int index) const noexcept
const String& XmlElement::getAttributeValue (const int index) const noexcept
{
if (const XmlAttributeNode* const att = attributes [index])
if (auto* att = attributes[index].get())
return att->value;
return getEmptyStringRef();
@@ -480,7 +473,7 @@ const String& XmlElement::getAttributeValue (const int index) const noexcept
XmlElement::XmlAttributeNode* XmlElement::getAttribute (StringRef attributeName) const noexcept
{
for (XmlAttributeNode* att = attributes; att != nullptr; att = att->nextListItem)
for (auto* att = attributes.get(); att != nullptr; att = att->nextListItem)
if (att->name == attributeName)
return att;
@@ -495,7 +488,7 @@ bool XmlElement::hasAttribute (StringRef attributeName) const noexcept
//==============================================================================
const String& XmlElement::getStringAttribute (StringRef attributeName) const noexcept
{
if (const XmlAttributeNode* att = getAttribute (attributeName))
if (auto* att = getAttribute (attributeName))
return att->value;
return getEmptyStringRef();
@@ -503,7 +496,7 @@ const String& XmlElement::getStringAttribute (StringRef attributeName) const noe
String XmlElement::getStringAttribute (StringRef attributeName, const String& defaultReturnValue) const
{
if (const XmlAttributeNode* att = getAttribute (attributeName))
if (auto* att = getAttribute (attributeName))
return att->value;
return defaultReturnValue;
@@ -511,7 +504,7 @@ String XmlElement::getStringAttribute (StringRef attributeName, const String& de
int XmlElement::getIntAttribute (StringRef attributeName, const int defaultReturnValue) const
{
if (const XmlAttributeNode* att = getAttribute (attributeName))
if (auto* att = getAttribute (attributeName))
return att->value.getIntValue();
return defaultReturnValue;
@@ -519,7 +512,7 @@ int XmlElement::getIntAttribute (StringRef attributeName, const int defaultRetur
double XmlElement::getDoubleAttribute (StringRef attributeName, const double defaultReturnValue) const
{
if (const XmlAttributeNode* att = getAttribute (attributeName))
if (auto* att = getAttribute (attributeName))
return att->value.getDoubleValue();
return defaultReturnValue;
@@ -527,9 +520,9 @@ double XmlElement::getDoubleAttribute (StringRef attributeName, const double def
bool XmlElement::getBoolAttribute (StringRef attributeName, const bool defaultReturnValue) const
{
if (const XmlAttributeNode* att = getAttribute (attributeName))
if (auto* att = getAttribute (attributeName))
{
const juce_wchar firstChar = *(att->value.getCharPointer().findEndOfWhitespace());
auto firstChar = *(att->value.getCharPointer().findEndOfWhitespace());
return firstChar == '1'
|| firstChar == 't'
@@ -545,7 +538,7 @@ bool XmlElement::compareAttribute (StringRef attributeName,
StringRef stringToCompareAgainst,
const bool ignoreCase) const noexcept
{
if (const XmlAttributeNode* att = getAttribute (attributeName))
if (auto* att = getAttribute (attributeName))
return ignoreCase ? att->value.equalsIgnoreCase (stringToCompareAgainst)
: att->value == stringToCompareAgainst;
@@ -561,7 +554,7 @@ void XmlElement::setAttribute (const Identifier& attributeName, const String& va
}
else
{
for (XmlAttributeNode* att = attributes; ; att = att->nextListItem)
for (auto* att = attributes.get(); ; att = att->nextListItem)
{
if (att->name == attributeName)
{
@@ -590,9 +583,7 @@ void XmlElement::setAttribute (const Identifier& attributeName, const double num
void XmlElement::removeAttribute (const Identifier& attributeName) noexcept
{
for (LinkedListPointer<XmlAttributeNode>* att = &attributes;
att->get() != nullptr;
att = &(att->get()->nextListItem))
for (auto* att = &attributes; att->get() != nullptr; att = &(att->get()->nextListItem))
{
if (att->get()->name == attributeName)
{
@@ -622,7 +613,7 @@ XmlElement* XmlElement::getChildByName (StringRef childName) const noexcept
{
jassert (! childName.isEmpty());
for (XmlElement* child = firstChildElement; child != nullptr; child = child->nextListItem)
for (auto* child = firstChildElement.get(); child != nullptr; child = child->nextListItem)
if (child->hasTagName (childName))
return child;
@@ -633,7 +624,7 @@ XmlElement* XmlElement::getChildByAttribute (StringRef attributeName, StringRef
{
jassert (! attributeName.isEmpty());
for (XmlElement* child = firstChildElement; child != nullptr; child = child->nextListItem)
for (auto* child = firstChildElement.get(); child != nullptr; child = child->nextListItem)
if (child->compareAttribute (attributeName, attributeValue))
return child;
@@ -675,7 +666,7 @@ void XmlElement::prependChildElement (XmlElement* newNode) noexcept
XmlElement* XmlElement::createNewChildElement (StringRef childTagName)
{
XmlElement* const newElement = new XmlElement (childTagName);
auto newElement = new XmlElement (childTagName);
addChildElement (newElement);
return newElement;
}
@@ -685,7 +676,7 @@ bool XmlElement::replaceChildElement (XmlElement* const currentChildElement,
{
if (newNode != nullptr)
{
if (LinkedListPointer<XmlElement>* const p = firstChildElement.findPointerTo (currentChildElement))
if (auto* p = firstChildElement.findPointerTo (currentChildElement))
{
if (currentChildElement != newNode)
delete p->replaceNext (newNode);
@@ -721,7 +712,7 @@ bool XmlElement::isEquivalentTo (const XmlElement* const other,
{
int totalAtts = 0;
for (const XmlAttributeNode* att = attributes; att != nullptr; att = att->nextListItem)
for (auto* att = attributes.get(); att != nullptr; att = att->nextListItem)
{
if (! other->compareAttribute (att->name, att->value))
return false;
@@ -734,8 +725,8 @@ bool XmlElement::isEquivalentTo (const XmlElement* const other,
}
else
{
const XmlAttributeNode* thisAtt = attributes;
const XmlAttributeNode* otherAtt = other->attributes;
auto* thisAtt = attributes.get();
auto* otherAtt = other->attributes.get();
for (;;)
{
@@ -758,8 +749,8 @@ bool XmlElement::isEquivalentTo (const XmlElement* const other,
}
}
const XmlElement* thisChild = firstChildElement;
const XmlElement* otherChild = other->firstChildElement;
auto* thisChild = firstChildElement.get();
auto* otherChild = other->firstChildElement.get();
for (;;)
{
@@ -789,9 +780,9 @@ void XmlElement::deleteAllChildElements() noexcept
void XmlElement::deleteAllChildElementsWithTagName (StringRef name) noexcept
{
for (XmlElement* child = firstChildElement; child != nullptr;)
for (auto* child = firstChildElement.get(); child != nullptr;)
{
XmlElement* const nextChild = child->nextListItem;
auto* nextChild = child->nextListItem.get();
if (child->hasTagName (name))
removeChildElement (child, true);
@@ -810,12 +801,12 @@ XmlElement* XmlElement::findParentElementOf (const XmlElement* const elementToLo
if (this == elementToLookFor || elementToLookFor == nullptr)
return nullptr;
for (XmlElement* child = firstChildElement; child != nullptr; child = child->nextListItem)
for (auto* child = firstChildElement.get(); child != nullptr; child = child->nextListItem)
{
if (elementToLookFor == child)
return this;
if (XmlElement* const found = child->findParentElementOf (elementToLookFor))
if (auto* found = child->findParentElementOf (elementToLookFor))
return found;
}
@@ -827,9 +818,10 @@ void XmlElement::getChildElementsAsArray (XmlElement** elems) const noexcept
firstChildElement.copyToArray (elems);
}
void XmlElement::reorderChildElements (XmlElement** const elems, const int num) noexcept
void XmlElement::reorderChildElements (XmlElement** elems, int num) noexcept
{
XmlElement* e = firstChildElement = elems[0];
auto* e = elems[0];
firstChildElement = e;
for (int i = 1; i < num; ++i)
{
@@ -875,7 +867,7 @@ String XmlElement::getAllSubText() const
MemoryOutputStream mem (1024);
for (const XmlElement* child = firstChildElement; child != nullptr; child = child->nextListItem)
for (auto* child = firstChildElement.get(); child != nullptr; child = child->nextListItem)
mem << child->getAllSubText();
return mem.toUTF8();
@@ -883,7 +875,7 @@ String XmlElement::getAllSubText() const
String XmlElement::getChildElementAllSubText (StringRef childTagName, const String& defaultReturnValue) const
{
if (const XmlElement* const child = getChildByName (childTagName))
if (auto* child = getChildByName (childTagName))
return child->getAllSubText();
return defaultReturnValue;
@@ -891,7 +883,7 @@ String XmlElement::getChildElementAllSubText (StringRef childTagName, const Stri
XmlElement* XmlElement::createTextElement (const String& text)
{
XmlElement* const e = new XmlElement ((int) 0);
auto e = new XmlElement ((int) 0);
e->setAttribute (juce_xmltextContentAttributeName, text);
return e;
}
@@ -918,9 +910,9 @@ void XmlElement::addTextElement (const String& text)
void XmlElement::deleteAllTextElements() noexcept
{
for (XmlElement* child = firstChildElement; child != nullptr;)
for (auto* child = firstChildElement.get(); child != nullptr;)
{
XmlElement* const next = child->nextListItem;
auto* next = child->nextListItem.get();
if (child->isTextElement())
removeChildElement (child, true);


+ 3
- 3
modules/juce_cryptography/hashing/juce_MD5.cpp View File

@@ -229,11 +229,11 @@ MD5::MD5 (CharPointer_UTF8 utf8) noexcept
MD5 MD5::fromUTF32 (StringRef text)
{
MD5Generator generator;
String::CharPointerType t (text.text);
auto t = text.text;
while (! t.isEmpty())
{
uint32 unicodeChar = ByteOrder::swapIfBigEndian ((uint32) t.getAndAdvance());
auto unicodeChar = ByteOrder::swapIfBigEndian ((uint32) t.getAndAdvance());
generator.processBlock (&unicodeChar, sizeof (unicodeChar));
}
@@ -276,7 +276,7 @@ void MD5::processStream (InputStream& input, int64 numBytesToRead)
while (numBytesToRead > 0)
{
uint8 tempBuffer [512];
const int bytesRead = input.read (tempBuffer, (int) jmin (numBytesToRead, (int64) sizeof (tempBuffer)));
auto bytesRead = input.read (tempBuffer, (int) jmin (numBytesToRead, (int64) sizeof (tempBuffer)));
if (bytesRead <= 0)
break;


+ 1
- 1
modules/juce_graphics/native/juce_android_Fonts.cpp View File

@@ -235,7 +235,7 @@ public:
env->GetFloatArrayRegion (widths, 0, numDone, localWidths);
env->DeleteLocalRef (widths);
String::CharPointerType s (text.getCharPointer());
auto s = text.getCharPointer();
xOffsets.add (0);


+ 5
- 5
modules/juce_gui_basics/drawables/juce_SVGParser.cpp View File

@@ -1265,10 +1265,10 @@ private:
if (len > 2)
{
const float dpi = 96.0f;
auto dpi = 96.0f;
const juce_wchar n1 = s [len - 2];
const juce_wchar n2 = s [len - 1];
auto n1 = s[len - 2];
auto n2 = s[len - 1];
if (n1 == 'i' && n2 == 'n') n *= dpi;
else if (n1 == 'm' && n2 == 'm') n *= dpi / 25.4f;
@@ -1400,7 +1400,7 @@ private:
}
//==============================================================================
static bool isIdentifierChar (const juce_wchar c)
static bool isIdentifierChar (juce_wchar c)
{
return CharacterFunctions::isLetter (c) || c == '-';
}
@@ -1446,7 +1446,7 @@ private:
static bool parseNextNumber (String::CharPointerType& text, String& value, const bool allowUnits)
{
String::CharPointerType s (text);
auto s = text;
while (s.isWhitespace() || *s == ',')
++s;


+ 9
- 20
modules/juce_gui_basics/keyboard/juce_KeyPress.cpp View File

@@ -28,7 +28,6 @@ namespace juce
{
KeyPress::KeyPress() noexcept
: keyCode (0), textCharacter (0)
{
}
@@ -37,14 +36,12 @@ KeyPress::KeyPress (int code, ModifierKeys m, juce_wchar textChar) noexcept
{
}
KeyPress::KeyPress (const int code) noexcept
: keyCode (code), textCharacter (0)
KeyPress::KeyPress (const int code) noexcept : keyCode (code)
{
}
KeyPress::KeyPress (const KeyPress& other) noexcept
: keyCode (other.keyCode), mods (other.mods),
textCharacter (other.textCharacter)
: keyCode (other.keyCode), mods (other.mods), textCharacter (other.textCharacter)
{
}
@@ -53,7 +50,6 @@ KeyPress& KeyPress::operator= (const KeyPress& other) noexcept
keyCode = other.keyCode;
mods = other.mods;
textCharacter = other.textCharacter;
return *this;
}
@@ -75,15 +71,8 @@ bool KeyPress::operator== (const KeyPress& other) const noexcept
== CharacterFunctions::toLowerCase ((juce_wchar) other.keyCode)));
}
bool KeyPress::operator!= (const KeyPress& other) const noexcept
{
return ! operator== (other);
}
bool KeyPress::operator!= (int otherKeyCode) const noexcept
{
return ! operator== (otherKeyCode);
}
bool KeyPress::operator!= (const KeyPress& other) const noexcept { return ! operator== (other); }
bool KeyPress::operator!= (int otherKeyCode) const noexcept { return ! operator== (otherKeyCode); }
bool KeyPress::isCurrentlyDown() const
{
@@ -149,7 +138,7 @@ namespace KeyPressHelpers
{
if (desc.containsIgnoreCase (numberPadPrefix()))
{
const juce_wchar lastChar = desc.trimEnd().getLastCharacter();
auto lastChar = desc.trimEnd().getLastCharacter();
switch (lastChar)
{
@@ -241,9 +230,9 @@ KeyPress KeyPress::createFromDescription (const String& desc)
if (key == 0)
{
// give up and use the hex code..
const int hexCode = desc.fromFirstOccurrenceOf ("#", false, false)
.retainCharacters ("0123456789abcdefABCDEF")
.getHexValue32();
auto hexCode = desc.fromFirstOccurrenceOf ("#", false, false)
.retainCharacters ("0123456789abcdefABCDEF")
.getHexValue32();
if (hexCode > 0)
key = hexCode;
@@ -302,7 +291,7 @@ String KeyPress::getTextDescription() const
String KeyPress::getTextDescriptionWithIcons() const
{
#if JUCE_MAC
String s (getTextDescription());
auto s = getTextDescription();
for (int i = 0; i < numElementsInArray (KeyPressHelpers::osxSymbols); ++i)
s = s.replace (KeyPressHelpers::osxSymbols[i].text,


+ 2
- 2
modules/juce_gui_basics/keyboard/juce_KeyPress.h View File

@@ -263,9 +263,9 @@ public:
private:
//==============================================================================
int keyCode;
int keyCode = 0;
ModifierKeys mods;
juce_wchar textCharacter;
juce_wchar textCharacter = 0;
JUCE_LEAK_DETECTOR (KeyPress)
};


+ 1
- 2
modules/juce_gui_basics/native/juce_win32_Windowing.cpp View File

@@ -2654,8 +2654,7 @@ private:
{
updateKeyModifiers();
juce_wchar textChar = (juce_wchar) key;
auto textChar = (juce_wchar) key;
const int virtualScanCode = (flags >> 16) & 0xff;
if (key >= '0' && key <= '9')


+ 26
- 22
modules/juce_gui_extra/code_editor/juce_CPlusPlusCodeTokeniserFunctions.h View File

@@ -110,12 +110,12 @@ struct CppTokeniserFunctions
static int parseIdentifier (Iterator& source) noexcept
{
int tokenLength = 0;
String::CharPointerType::CharType possibleIdentifier [100];
String::CharPointerType::CharType possibleIdentifier[100];
String::CharPointerType possible (possibleIdentifier);
while (isIdentifierBody (source.peekNextChar()))
{
const juce_wchar c = source.nextChar();
auto c = source.nextChar();
if (tokenLength < 20)
possible.write (c);
@@ -137,7 +137,8 @@ struct CppTokeniserFunctions
template <typename Iterator>
static bool skipNumberSuffix (Iterator& source)
{
const juce_wchar c = source.peekNextChar();
auto c = source.peekNextChar();
if (c == 'l' || c == 'L' || c == 'u' || c == 'U')
source.skip();
@@ -163,11 +164,13 @@ struct CppTokeniserFunctions
if (source.nextChar() != '0')
return false;
juce_wchar c = source.nextChar();
auto c = source.nextChar();
if (c != 'x' && c != 'X')
return false;
int numDigits = 0;
while (isHexDigit (source.peekNextChar()))
{
++numDigits;
@@ -257,18 +260,19 @@ struct CppTokeniserFunctions
if (numDigits == 0)
return false;
juce_wchar c = source.peekNextChar();
const bool hasExponent = (c == 'e' || c == 'E');
auto c = source.peekNextChar();
bool hasExponent = (c == 'e' || c == 'E');
if (hasExponent)
{
source.skip();
c = source.peekNextChar();
if (c == '+' || c == '-')
source.skip();
int numExpDigits = 0;
while (isDecimalDigit (source.peekNextChar()))
{
source.skip();
@@ -280,6 +284,7 @@ struct CppTokeniserFunctions
}
c = source.peekNextChar();
if (c == 'f' || c == 'F')
source.skip();
else if (! (hasExponent || hasPoint))
@@ -311,11 +316,11 @@ struct CppTokeniserFunctions
template <typename Iterator>
static void skipQuotedString (Iterator& source) noexcept
{
const juce_wchar quote = source.nextChar();
auto quote = source.nextChar();
for (;;)
{
const juce_wchar c = source.nextChar();
auto c = source.nextChar();
if (c == quote || c == 0)
break;
@@ -332,7 +337,7 @@ struct CppTokeniserFunctions
for (;;)
{
const juce_wchar c = source.nextChar();
auto c = source.nextChar();
if (c == 0 || (c == '/' && lastWasStar))
break;
@@ -348,7 +353,7 @@ struct CppTokeniserFunctions
for (;;)
{
const juce_wchar c = source.peekNextChar();
auto c = source.peekNextChar();
if (c == '"')
{
@@ -360,7 +365,7 @@ struct CppTokeniserFunctions
{
Iterator next (source);
next.skip();
const juce_wchar c2 = next.peekNextChar();
auto c2 = next.peekNextChar();
if (c2 == '/' || c2 == '*')
return;
@@ -394,7 +399,7 @@ struct CppTokeniserFunctions
template <typename Iterator>
static void skipIfNextCharMatches (Iterator& source, const juce_wchar c1, const juce_wchar c2) noexcept
{
const juce_wchar c = source.peekNextChar();
auto c = source.peekNextChar();
if (c == c1 || c == c2)
source.skip();
@@ -404,8 +409,7 @@ struct CppTokeniserFunctions
static int readNextToken (Iterator& source)
{
source.skipWhitespace();
const juce_wchar firstChar = source.peekNextChar();
auto firstChar = source.peekNextChar();
switch (firstChar)
{
@@ -416,7 +420,7 @@ struct CppTokeniserFunctions
case '5': case '6': case '7': case '8': case '9':
case '.':
{
int result = parseNumber (source);
auto result = parseNumber (source);
if (result == CPlusPlusCodeTokeniser::tokenType_error)
{
@@ -454,7 +458,7 @@ struct CppTokeniserFunctions
case '-':
{
source.skip();
int result = parseNumber (source);
auto result = parseNumber (source);
if (result == CPlusPlusCodeTokeniser::tokenType_error)
{
@@ -474,7 +478,7 @@ struct CppTokeniserFunctions
case '/':
{
source.skip();
juce_wchar nextChar = source.peekNextChar();
auto nextChar = source.peekNextChar();
if (nextChar == '/')
{
@@ -527,8 +531,8 @@ struct CppTokeniserFunctions
*/
struct StringIterator
{
StringIterator (const String& s) noexcept : t (s.getCharPointer()), numChars (0) {}
StringIterator (String::CharPointerType s) noexcept : t (s), numChars (0) {}
StringIterator (const String& s) noexcept : t (s.getCharPointer()) {}
StringIterator (String::CharPointerType s) noexcept : t (s) {}
juce_wchar nextChar() noexcept { if (isEOF()) return 0; ++numChars; return t.getAndAdvance(); }
juce_wchar peekNextChar()noexcept { return *t; }
@@ -538,7 +542,7 @@ struct CppTokeniserFunctions
bool isEOF() const noexcept { return t.isEmpty(); }
String::CharPointerType t;
int numChars;
int numChars = 0;
};
//==============================================================================
@@ -562,7 +566,7 @@ struct CppTokeniserFunctions
for (int i = 0; i < numBytesToRead || numBytesToRead < 0; ++i)
{
const unsigned char c = (unsigned char) utf8[i];
auto c = (unsigned char) utf8[i];
bool startNewLine = false;
switch (c)


+ 3
- 3
modules/juce_gui_extra/code_editor/juce_CodeEditorComponent.cpp View File

@@ -195,8 +195,9 @@ private:
{
jassert (index <= line.length());
String::CharPointerType t (line.getCharPointer());
auto t = line.getCharPointer();
int col = 0;
for (int i = 0; i < index; ++i)
{
if (t.getAndAdvance() != '\t')
@@ -208,8 +209,7 @@ private:
return col;
}
static void addToken (Array<SyntaxToken>& dest, const String& text,
const int length, const int type)
static void addToken (Array<SyntaxToken>& dest, const String& text, int length, int type)
{
if (length > 1000)
{


+ 1
- 1
modules/juce_gui_extra/code_editor/juce_LuaCodeTokeniser.cpp View File

@@ -79,7 +79,7 @@ struct LuaTokeniserFunctions
static int parseIdentifier (Iterator& source) noexcept
{
int tokenLength = 0;
String::CharPointerType::CharType possibleIdentifier [100];
String::CharPointerType::CharType possibleIdentifier[100];
String::CharPointerType possible (possibleIdentifier);
while (CppTokeniserFunctions::isIdentifierBody (source.peekNextChar()))


+ 17
- 16
modules/juce_osc/osc/juce_OSCAddress.cpp View File

@@ -42,7 +42,7 @@ namespace
if (pattern == patternEnd)
return matchTerminator (target, targetEnd);
const juce_wchar c = pattern.getAndAdvance();
auto c = pattern.getAndAdvance();
switch (c)
{
@@ -105,7 +105,7 @@ namespace
while (pattern != patternEnd)
{
const juce_wchar c = pattern.getAndAdvance();
auto c = pattern.getAndAdvance();
switch (c)
{
@@ -135,9 +135,9 @@ namespace
if (set.size() == 0)
return match (pattern, patternEnd, target, targetEnd);
for (const String* str = set.begin(); str != set.end(); ++str)
if (str->getCharPointer().compareUpTo (target, str->length()) == 0)
if (match (pattern, patternEnd, target + str->length(), targetEnd))
for (auto& str : set)
if (str.getCharPointer().compareUpTo (target, str.length()) == 0)
if (match (pattern, patternEnd, target + str.length(), targetEnd))
return true;
return false;
@@ -155,7 +155,7 @@ namespace
while (pattern != patternEnd)
{
const juce_wchar c = pattern.getAndAdvance();
auto c = pattern.getAndAdvance();
switch (c)
{
@@ -203,8 +203,8 @@ namespace
static bool matchCharSetNegated (const Array<juce_wchar>& set, CharPtr pattern,
CharPtr patternEnd, CharPtr target, CharPtr targetEnd)
{
for (juce_wchar* c = set.begin(); c != set.end(); ++c)
if (*target == *c)
for (auto c : set)
if (*target == c)
return false;
return match (pattern, patternEnd, target + 1, targetEnd);
@@ -214,8 +214,8 @@ namespace
static bool matchCharSetNotNegated (const Array<juce_wchar>& set, CharPtr pattern,
CharPtr patternEnd, CharPtr target, CharPtr targetEnd)
{
for (juce_wchar* c = set.begin(); c != set.end(); ++c)
if (*target == *c)
for (auto c : set)
if (*target == c)
if (match (pattern, patternEnd, target + 1, targetEnd))
return true;
@@ -229,8 +229,8 @@ namespace
if (target == targetEnd)
return false;
juce_wchar rangeStart = set.getLast();
juce_wchar rangeEnd = pattern.getAndAdvance();
auto rangeStart = set.getLast();
auto rangeEnd = pattern.getAndAdvance();
if (rangeEnd == ']')
{
@@ -281,9 +281,10 @@ namespace
static bool containsOnlyAllowedPrintableASCIIChars (const String& string) noexcept
{
for (String::CharPointerType charPtr (string.getCharPointer()); ! charPtr.isEmpty();)
for (auto charPtr = string.getCharPointer(); ! charPtr.isEmpty();)
{
juce_wchar c = charPtr.getAndAdvance();
auto c = charPtr.getAndAdvance();
if (! isPrintableASCIIChar (c) || isDisallowedChar (c))
return false;
}
@@ -304,8 +305,8 @@ namespace
oscSymbols.addTokens (address, "/", StringRef());
oscSymbols.removeEmptyStrings (false);
for (String* token = oscSymbols.begin(); token != oscSymbols.end(); ++token)
if (! containsOnlyAllowedPrintableASCIIChars (*token))
for (auto& token : oscSymbols)
if (! containsOnlyAllowedPrintableASCIIChars (token))
throw OSCFormatError ("OSC format error: encountered characters not allowed in address string.");
return oscSymbols;


Loading…
Cancel
Save