From 74e687aa99daf6b04ce5bdb4879ff162d2d98e05 Mon Sep 17 00:00:00 2001 From: jules Date: Thu, 19 Jul 2012 08:53:15 +0100 Subject: [PATCH] Added a String << operatator that takes int64. --- modules/juce_core/text/juce_String.cpp | 15 ++++++++------- modules/juce_core/text/juce_String.h | 2 ++ 2 files changed, 10 insertions(+), 7 deletions(-) diff --git a/modules/juce_core/text/juce_String.cpp b/modules/juce_core/text/juce_String.cpp index bb9e5609ec..aa2c3d8d9d 100644 --- a/modules/juce_core/text/juce_String.cpp +++ b/modules/juce_core/text/juce_String.cpp @@ -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 (new char [sizeof (StringHolder) - sizeof (CharType) + numBytes]); s->refCount.value = 0; @@ -70,7 +70,7 @@ public: } template - 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 - 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 - 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); } diff --git a/modules/juce_core/text/juce_String.h b/modules/juce_core/text/juce_String.h index 904054c8a1..bcb2b1d666 100644 --- a/modules/juce_core/text/juce_String.h +++ b/modules/juce_core/text/juce_String.h @@ -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);