Browse Source

Added a String << operatator that takes int64.

tags/2021-05-28
jules 13 years ago
parent
commit
74e687aa99
2 changed files with 10 additions and 7 deletions
  1. +8
    -7
      modules/juce_core/text/juce_String.cpp
  2. +2
    -0
      modules/juce_core/text/juce_String.h

+ 8
- 7
modules/juce_core/text/juce_String.cpp View File

@@ -51,7 +51,7 @@ static inline CharPointer_wchar_t castToCharPointer_wchar_t (const void* t) noex
class StringHolder
{
public:
StringHolder()
StringHolder() noexcept
: refCount (0x3fffffff), allocatedNumBytes (sizeof (*text))
{
text[0] = 0;
@@ -61,7 +61,7 @@ public:
typedef String::CharPointerType::CharType CharType;
//==============================================================================
static const CharPointerType createUninitialisedBytes (const size_t numBytes)
static CharPointerType createUninitialisedBytes (const size_t numBytes)
{
StringHolder* const s = reinterpret_cast <StringHolder*> (new char [sizeof (StringHolder) - sizeof (CharType) + numBytes]);
s->refCount.value = 0;
@@ -70,7 +70,7 @@ public:
}
template <class CharPointer>
static const CharPointerType createFromCharPointer (const CharPointer& text)
static CharPointerType createFromCharPointer (const CharPointer& text)
{
if (text.getAddress() == nullptr || text.isEmpty())
return getEmpty();
@@ -87,7 +87,7 @@ public:
}
template <class CharPointer>
static const CharPointerType createFromCharPointer (const CharPointer& text, size_t maxChars)
static CharPointerType createFromCharPointer (const CharPointer& text, size_t maxChars)
{
if (text.getAddress() == nullptr || text.isEmpty() || maxChars == 0)
return getEmpty();
@@ -108,7 +108,7 @@ public:
}
template <class CharPointer>
static const CharPointerType createFromCharPointer (const CharPointer& start, const CharPointer& end)
static CharPointerType createFromCharPointer (const CharPointer& start, const CharPointer& end)
{
if (start.getAddress() == nullptr || start.isEmpty())
return getEmpty();
@@ -128,14 +128,14 @@ public:
return dest;
}
static const CharPointerType createFromFixedLength (const char* const src, const size_t numChars)
static CharPointerType createFromFixedLength (const char* const src, const size_t numChars)
{
const CharPointerType dest (createUninitialisedBytes (numChars * sizeof (CharType) + sizeof (CharType)));
CharPointerType (dest).writeWithCharLimit (CharPointer_UTF8 (src), (int) (numChars + 1));
return dest;
}
static inline const CharPointerType getEmpty() noexcept
static inline CharPointerType getEmpty() noexcept
{
return CharPointerType (empty.text);
}
@@ -710,6 +710,7 @@ JUCE_API String& JUCE_CALLTYPE operator<< (String& s1, const String& s2)
JUCE_API String& JUCE_CALLTYPE operator<< (String& s1, const short number) { return s1 += (int) number; }
JUCE_API String& JUCE_CALLTYPE operator<< (String& s1, const int number) { return s1 += number; }
JUCE_API String& JUCE_CALLTYPE operator<< (String& s1, const long number) { return s1 += (int) number; }
JUCE_API String& JUCE_CALLTYPE operator<< (String& s1, const int64 number) { return s1 << String (number); }
JUCE_API String& JUCE_CALLTYPE operator<< (String& s1, const float number) { return s1 += String (number); }
JUCE_API String& JUCE_CALLTYPE operator<< (String& s1, const double number) { return s1 += String (number); }


+ 2
- 0
modules/juce_core/text/juce_String.h View File

@@ -1263,6 +1263,8 @@ JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, int number);
/** Appends a decimal number at the end of a string. */
JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, long number);
/** Appends a decimal number at the end of a string. */
JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, int64 number);
/** Appends a decimal number at the end of a string. */
JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, float number);
/** Appends a decimal number at the end of a string. */
JUCE_API String& JUCE_CALLTYPE operator<< (String& string1, double number);


Loading…
Cancel
Save