From 30e3b0d865a47505a468e27d72dbe80c92d60aeb Mon Sep 17 00:00:00 2001 From: jules Date: Mon, 22 Jul 2013 10:10:26 +0100 Subject: [PATCH] Optimised Result::ok() --- modules/juce_core/misc/juce_Result.cpp | 7 ++----- modules/juce_core/misc/juce_Result.h | 13 ++++++++----- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/modules/juce_core/misc/juce_Result.cpp b/modules/juce_core/misc/juce_Result.cpp index f4d19852b6..1734907f5e 100644 --- a/modules/juce_core/misc/juce_Result.cpp +++ b/modules/juce_core/misc/juce_Result.cpp @@ -26,6 +26,8 @@ ============================================================================== */ +Result::Result() noexcept {} + Result::Result (const String& message) noexcept : errorMessage (message) { @@ -65,11 +67,6 @@ bool Result::operator!= (const Result& other) const noexcept return errorMessage != other.errorMessage; } -Result Result::ok() noexcept -{ - return Result (String::empty); -} - Result Result::fail (const String& errorMessage) noexcept { return Result (errorMessage.isEmpty() ? "Unknown Error" : errorMessage); diff --git a/modules/juce_core/misc/juce_Result.h b/modules/juce_core/misc/juce_Result.h index 4c066ebc1b..be88580bfc 100644 --- a/modules/juce_core/misc/juce_Result.h +++ b/modules/juce_core/misc/juce_Result.h @@ -65,7 +65,7 @@ class JUCE_API Result public: //============================================================================== /** Creates and returns a 'successful' result. */ - static Result ok() noexcept; + static Result ok() noexcept { return Result(); } /** Creates a 'failure' result. If you pass a blank error message in here, a default "Unknown Error" message @@ -99,12 +99,12 @@ public: const String& getErrorMessage() const noexcept; //============================================================================== - Result (const Result& other); - Result& operator= (const Result& other); + Result (const Result&); + Result& operator= (const Result&); #if JUCE_COMPILER_SUPPORTS_MOVE_SEMANTICS - Result (Result&& other) noexcept; - Result& operator= (Result&& other) noexcept; + Result (Result&&) noexcept; + Result& operator= (Result&&) noexcept; #endif bool operator== (const Result& other) const noexcept; @@ -113,6 +113,9 @@ public: private: String errorMessage; + // The default constructor is not for public use! + // Instead, use Result::ok() or Result::fail() + Result() noexcept; explicit Result (const String&) noexcept; // These casts are private to prevent people trying to use the Result object in numeric contexts