From fecba9c31c8babfb06063f492ccf57591a67aa51 Mon Sep 17 00:00:00 2001 From: jules Date: Mon, 9 Sep 2013 20:07:17 +0100 Subject: [PATCH] New class StringRef, to improve performance in function calls that can take either a String or a raw string literal. Modified a few other classes to take advantage of this. --- .../Builds/CodeBlocks/The Introjucer.cbp | 4 + .../The Introjucer.xcodeproj/project.pbxproj | 2 + .../VisualStudio2005/The Introjucer.vcproj | 1 + .../VisualStudio2008/The Introjucer.vcproj | 1 + .../VisualStudio2010/The Introjucer.vcxproj | 1 + .../The Introjucer.vcxproj.filters | 3 + .../VisualStudio2012/The Introjucer.vcxproj | 1 + .../The Introjucer.vcxproj.filters | 3 + .../Source/Project/jucer_Module.cpp | 2 +- .../JuceDemo/Builds/CodeBlocks/Juce Demo.cbp | 4 + .../Juce Demo.xcodeproj/project.pbxproj | 18 +- .../Builds/VisualStudio2005/Juce Demo.vcproj | 1 + .../Builds/VisualStudio2008/Juce Demo.vcproj | 1 + .../Builds/VisualStudio2010/Juce Demo.vcxproj | 1 + .../Juce Demo.vcxproj.filters | 3 + .../Builds/VisualStudio2012/Juce Demo.vcxproj | 1 + .../Juce Demo.vcxproj.filters | 3 + .../iOS/Juce Demo.xcodeproj/project.pbxproj | 2 + .../JuceDemoPlugin.xcodeproj/project.pbxproj | 10 +- .../VisualStudio2005/JuceDemoPlugin.vcproj | 1 + .../VisualStudio2008/JuceDemoPlugin.vcproj | 1 + .../Source/PluginProcessor.cpp | 10 +- .../Plugin Host.xcodeproj/project.pbxproj | 2 + .../VisualStudio2005/Plugin Host.vcproj | 1 + .../VisualStudio2008/Plugin Host.vcproj | 1 + .../BinaryBuilder.xcodeproj/project.pbxproj | 2 + .../VisualStudio2008/BinaryBuilder.vcproj | 1 + .../HelloWorld.xcodeproj/project.pbxproj | 6 +- .../Builds/VisualStudio2005/HelloWorld.vcproj | 1 + .../Builds/VisualStudio2008/HelloWorld.vcproj | 1 + .../iOS/HelloWorld.xcodeproj/project.pbxproj | 2 + .../juce_core/containers/juce_PropertySet.cpp | 18 +- .../juce_core/containers/juce_PropertySet.h | 18 +- modules/juce_core/files/juce_File.cpp | 81 ++++----- modules/juce_core/files/juce_File.h | 12 +- modules/juce_core/juce_core.h | 2 + .../juce_core/native/juce_win32_Network.cpp | 2 +- modules/juce_core/text/juce_Identifier.h | 5 +- modules/juce_core/text/juce_NewLine.h | 5 + modules/juce_core/text/juce_String.cpp | 168 ++++++++++-------- modules/juce_core/text/juce_String.h | 76 ++++---- modules/juce_core/text/juce_StringArray.cpp | 41 ++--- modules/juce_core/text/juce_StringArray.h | 31 ++-- .../juce_core/text/juce_StringPairArray.cpp | 6 +- modules/juce_core/text/juce_StringPairArray.h | 12 +- modules/juce_core/text/juce_StringRef.h | 124 +++++++++++++ modules/juce_core/xml/juce_XmlElement.cpp | 135 +++++++------- modules/juce_core/xml/juce_XmlElement.h | 71 +++----- .../juce_graphics/geometry/juce_Rectangle.h | 8 +- .../components/juce_Component.cpp | 2 +- .../components/juce_Component.h | 2 +- 51 files changed, 539 insertions(+), 371 deletions(-) create mode 100644 modules/juce_core/text/juce_StringRef.h diff --git a/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp b/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp index 1f06904ce6..c84206931a 100644 --- a/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp +++ b/extras/Introjucer/Builds/CodeBlocks/The Introjucer.cbp @@ -728,6 +728,10 @@