diff --git a/src/Magnum/Math/Angle.cpp b/src/Magnum/Math/Angle.cpp index 5a08cf5ba..f985c6d8c 100644 --- a/src/Magnum/Math/Angle.cpp +++ b/src/Magnum/Math/Angle.cpp @@ -27,12 +27,13 @@ #if defined(DOXYGEN_GENERATING_OUTPUT) || defined(CORRADE_TARGET_UNIX) || (defined(CORRADE_TARGET_WINDOWS) && !defined(CORRADE_TARGET_WINDOWS_RT)) || defined(CORRADE_TARGET_EMSCRIPTEN) #include +#include #include #include namespace Corrade { namespace Utility { -std::pair> TweakableParser>::parse(const Containers::StringView value) { +Containers::Pair> TweakableParser>::parse(const Containers::StringView value) { using namespace Containers::Literals; char* end; @@ -56,7 +57,7 @@ std::pair> TweakableParser{result}}; } -std::pair> TweakableParser>::parse(const Containers::StringView value) { +Containers::Pair> TweakableParser>::parse(const Containers::StringView value) { using namespace Containers::Literals; char* end; @@ -80,7 +81,7 @@ std::pair> TweakableParser{result}}; } -std::pair> TweakableParser>::parse(const Containers::StringView value) { +Containers::Pair> TweakableParser>::parse(const Containers::StringView value) { using namespace Containers::Literals; char* end; @@ -104,7 +105,7 @@ std::pair> TweakableParser{result}}; } -std::pair> TweakableParser>::parse(const Containers::StringView value) { +Containers::Pair> TweakableParser>::parse(const Containers::StringView value) { using namespace Containers::Literals; char* end; diff --git a/src/Magnum/Math/Angle.h b/src/Magnum/Math/Angle.h index 05f6dbcd3..6c6ef544f 100644 --- a/src/Magnum/Math/Angle.h +++ b/src/Magnum/Math/Angle.h @@ -267,7 +267,7 @@ template<> struct MAGNUM_EXPORT TweakableParser TweakableParser() = delete; /** @brief Parse the value */ - static std::pair> parse(Containers::StringView value); + static Containers::Pair> parse(Containers::StringView value); }; #ifndef DOXYGEN_GENERATING_OUTPUT @@ -285,7 +285,7 @@ template<> struct MAGNUM_EXPORT TweakableParser> parse(Containers::StringView value); + static Containers::Pair> parse(Containers::StringView value); }; #ifndef DOXYGEN_GENERATING_OUTPUT @@ -303,7 +303,7 @@ template<> struct MAGNUM_EXPORT TweakableParser TweakableParser() = delete; /** @brief Parse the value */ - static std::pair> parse(Containers::StringView value); + static Containers::Pair> parse(Containers::StringView value); }; #ifndef DOXYGEN_GENERATING_OUTPUT @@ -321,7 +321,7 @@ template<> struct MAGNUM_EXPORT TweakableParser> parse(Containers::StringView value); + static Containers::Pair> parse(Containers::StringView value); }; #ifndef DOXYGEN_GENERATING_OUTPUT diff --git a/src/Magnum/Math/Color.cpp b/src/Magnum/Math/Color.cpp index ab8c72393..ceccb6825 100644 --- a/src/Magnum/Math/Color.cpp +++ b/src/Magnum/Math/Color.cpp @@ -145,7 +145,7 @@ Corrade::Utility::Debug& operator<<(Corrade::Utility::Debug& debug, const Color4 #if defined(DOXYGEN_GENERATING_OUTPUT) || defined(CORRADE_TARGET_UNIX) || (defined(CORRADE_TARGET_WINDOWS) && !defined(CORRADE_TARGET_WINDOWS_RT)) || defined(CORRADE_TARGET_EMSCRIPTEN) namespace Corrade { namespace Utility { -std::pair> TweakableParser>::parse(const Containers::StringView value) { +Containers::Pair> TweakableParser>::parse(const Containers::StringView value) { using namespace Containers::Literals; if(value.size() < 2 || value[0] != '0' || (value[1] != 'x' && value[1] != 'X')) { @@ -177,7 +177,7 @@ std::pair> TweakableP Magnum::Math::Literals::operator "" _rgb(result)}; } -std::pair> TweakableParser>::parse(const Containers::StringView value) { +Containers::Pair> TweakableParser>::parse(const Containers::StringView value) { using namespace Containers::Literals; if(value.size() < 2 || value[0] != '0' || (value[1] != 'x' && value[1] != 'X')) { @@ -209,7 +209,7 @@ std::pair> TweakableP Magnum::Math::Literals::operator "" _rgba(result)}; } -std::pair> TweakableParser>::parse(const Containers::StringView value) { +Containers::Pair> TweakableParser>::parse(const Containers::StringView value) { using namespace Containers::Literals; if(value.size() < 2 || value[0] != '0' || (value[1] != 'x' && value[1] != 'X')) { @@ -241,7 +241,7 @@ std::pair> TweakableParser> TweakableParser>::parse(const Containers::StringView value) { +Containers::Pair> TweakableParser>::parse(const Containers::StringView value) { using namespace Containers::Literals; if(value.size() < 2 || value[0] != '0' || (value[1] != 'x' && value[1] != 'X')) { diff --git a/src/Magnum/Math/Color.h b/src/Magnum/Math/Color.h index 6ec2e5dcd..3ec0cbf2e 100644 --- a/src/Magnum/Math/Color.h +++ b/src/Magnum/Math/Color.h @@ -1433,7 +1433,7 @@ template<> struct MAGNUM_EXPORT TweakableParser> parse(Containers::StringView value); + static Containers::Pair> parse(Containers::StringView value); }; #ifndef DOXYGEN_GENERATING_OUTPUT @@ -1451,7 +1451,7 @@ template<> struct MAGNUM_EXPORT TweakableParser> parse(Containers::StringView value); + static Containers::Pair> parse(Containers::StringView value); }; #ifndef DOXYGEN_GENERATING_OUTPUT @@ -1469,7 +1469,7 @@ template<> struct MAGNUM_EXPORT TweakableParser> parse(Containers::StringView value); + static Containers::Pair> parse(Containers::StringView value); }; /** @@ -1483,7 +1483,7 @@ template<> struct MAGNUM_EXPORT TweakableParser> parse(Containers::StringView value); + static Containers::Pair> parse(Containers::StringView value); }; #endif diff --git a/src/Magnum/Math/Test/AngleTest.cpp b/src/Magnum/Math/Test/AngleTest.cpp index beda9d72b..fe6aa1a2e 100644 --- a/src/Magnum/Math/Test/AngleTest.cpp +++ b/src/Magnum/Math/Test/AngleTest.cpp @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #if defined(DOXYGEN_GENERATING_OUTPUT) || defined(CORRADE_TARGET_UNIX) || (defined(CORRADE_TARGET_WINDOWS) && !defined(CORRADE_TARGET_WINDOWS_RT)) || defined(CORRADE_TARGET_EMSCRIPTEN) @@ -346,11 +347,9 @@ template void AngleTest::tweakable() { auto&& data = TweakableData[testCaseInstanceId()]; setTestCaseTemplateName(TweakableTraits::name()); setTestCaseDescription(data.name); - Corrade::Utility::TweakableState state; - T result; - std::tie(state, result) = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, TweakableTraits::literal())); - CORRADE_COMPARE(state, Corrade::Utility::TweakableState::Success); - CORRADE_COMPARE(result, T(typename T::Type(data.result))); + auto result = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, TweakableTraits::literal())); + CORRADE_COMPARE(result.first(), Corrade::Utility::TweakableState::Success); + CORRADE_COMPARE(result.second(), T(typename T::Type(data.result))); } template void AngleTest::tweakableError() { @@ -361,7 +360,7 @@ template void AngleTest::tweakableError() { std::ostringstream out; Warning redirectWarning{&out}; Error redirectError{&out}; - Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, TweakableTraits::literal())).first; + Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, TweakableTraits::literal())).first(); CORRADE_COMPARE(out.str(), Corrade::Utility::formatString(data.error, TweakableTraits::literal())); CORRADE_COMPARE(state, data.state); } diff --git a/src/Magnum/Math/Test/ColorTest.cpp b/src/Magnum/Math/Test/ColorTest.cpp index c50bbef06..d48f9b733 100644 --- a/src/Magnum/Math/Test/ColorTest.cpp +++ b/src/Magnum/Math/Test/ColorTest.cpp @@ -1121,88 +1121,72 @@ void ColorTest::tweakableRgb() { auto&& data = TweakableData[testCaseInstanceId()]; setTestCaseDescription(data.name); - Corrade::Utility::TweakableState state; - Color3ub result; - std::tie(state, result) = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgb, "rgb")); - CORRADE_COMPARE(state, Corrade::Utility::TweakableState::Success); - CORRADE_COMPARE(result, data.resultUb.rgb()); + Corrade::Containers::Pair result = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgb, "rgb")); + CORRADE_COMPARE(result.first(), Corrade::Utility::TweakableState::Success); + CORRADE_COMPARE(result.second(), data.resultUb.rgb()); } void ColorTest::tweakableSrgb() { auto&& data = TweakableData[testCaseInstanceId()]; setTestCaseDescription(data.name); - Corrade::Utility::TweakableState state; - Math::Vector3 result; - std::tie(state, result) = Corrade::Utility::TweakableParser>::parse(Corrade::Utility::format(data.dataRgb, "srgb")); - CORRADE_COMPARE(state, Corrade::Utility::TweakableState::Success); - CORRADE_COMPARE(result, data.resultUb.rgb()); + Corrade::Containers::Pair result = Corrade::Utility::TweakableParser>::parse(Corrade::Utility::format(data.dataRgb, "srgb")); + CORRADE_COMPARE(result.first(), Corrade::Utility::TweakableState::Success); + CORRADE_COMPARE(result.second(), data.resultUb.rgb()); } void ColorTest::tweakableRgba() { auto&& data = TweakableData[testCaseInstanceId()]; setTestCaseDescription(data.name); - Corrade::Utility::TweakableState state; - Color4ub result; - std::tie(state, result) = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgba, "rgba")); - CORRADE_COMPARE(state, Corrade::Utility::TweakableState::Success); - CORRADE_COMPARE(result, data.resultUb); + Corrade::Containers::Pair result = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgba, "rgba")); + CORRADE_COMPARE(result.first(), Corrade::Utility::TweakableState::Success); + CORRADE_COMPARE(result.second(), data.resultUb); } void ColorTest::tweakableSrgba() { auto&& data = TweakableData[testCaseInstanceId()]; setTestCaseDescription(data.name); - Corrade::Utility::TweakableState state; - Math::Vector4 result; - std::tie(state, result) = Corrade::Utility::TweakableParser>::parse(Corrade::Utility::format(data.dataRgba, "srgba")); - CORRADE_COMPARE(state, Corrade::Utility::TweakableState::Success); - CORRADE_COMPARE(result, data.resultUb); + Corrade::Containers::Pair result = Corrade::Utility::TweakableParser>::parse(Corrade::Utility::format(data.dataRgba, "srgba")); + CORRADE_COMPARE(result.first(), Corrade::Utility::TweakableState::Success); + CORRADE_COMPARE(result.second(), data.resultUb); } void ColorTest::tweakableRgbf() { auto&& data = TweakableData[testCaseInstanceId()]; setTestCaseDescription(data.name); - Corrade::Utility::TweakableState state; - Color3 result; - std::tie(state, result) = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgb, "rgbf")); - CORRADE_COMPARE(state, Corrade::Utility::TweakableState::Success); - CORRADE_COMPARE(result, data.result.rgb()); + Corrade::Containers::Pair result = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgb, "rgbf")); + CORRADE_COMPARE(result.first(), Corrade::Utility::TweakableState::Success); + CORRADE_COMPARE(result.second(), data.result.rgb()); } void ColorTest::tweakableSrgbf() { auto&& data = TweakableData[testCaseInstanceId()]; setTestCaseDescription(data.name); - Corrade::Utility::TweakableState state; - Color3 result; - std::tie(state, result) = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgb, "srgbf")); - CORRADE_COMPARE(state, Corrade::Utility::TweakableState::Success); - CORRADE_COMPARE(result, data.resultSrgba.rgb()); + Corrade::Containers::Pair result = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgb, "srgbf")); + CORRADE_COMPARE(result.first(), Corrade::Utility::TweakableState::Success); + CORRADE_COMPARE(result.second(), data.resultSrgba.rgb()); } void ColorTest::tweakableRgbaf() { auto&& data = TweakableData[testCaseInstanceId()]; setTestCaseDescription(data.name); - Corrade::Utility::TweakableState state; - Color4 result; - std::tie(state, result) = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgba, "rgbaf")); - CORRADE_COMPARE(state, Corrade::Utility::TweakableState::Success); - CORRADE_COMPARE(result, data.result); + Corrade::Containers::Pair result = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgba, "rgbaf")); + CORRADE_COMPARE(result.first(), Corrade::Utility::TweakableState::Success); + CORRADE_COMPARE(result.second(), data.result); } void ColorTest::tweakableSrgbaf() { auto&& data = TweakableData[testCaseInstanceId()]; setTestCaseDescription(data.name); - Corrade::Utility::TweakableState state; - Color4 result; - std::tie(state, result) = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgba, "srgbaf")); - CORRADE_COMPARE(state, Corrade::Utility::TweakableState::Success); - CORRADE_COMPARE(result, data.resultSrgba); + Corrade::Containers::Pair result = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.dataRgba, "srgbaf")); + CORRADE_COMPARE(result.first(), Corrade::Utility::TweakableState::Success); + CORRADE_COMPARE(result.second(), data.resultSrgba); } void ColorTest::tweakableErrorRgb() { @@ -1212,7 +1196,7 @@ void ColorTest::tweakableErrorRgb() { std::ostringstream out; Warning redirectWarning{&out}; Error redirectError{&out}; - Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366", "rgb")).first; + Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366", "rgb")).first(); CORRADE_COMPARE(out.str(), Corrade::Utility::formatString(data.error, "ff3366", "rgb", "")); CORRADE_COMPARE(state, data.state); } @@ -1224,7 +1208,7 @@ void ColorTest::tweakableErrorSrgb() { std::ostringstream out; Warning redirectWarning{&out}; Error redirectError{&out}; - Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser>::parse(Corrade::Utility::format(data.data, "ff3366", "srgb")).first; + Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser>::parse(Corrade::Utility::format(data.data, "ff3366", "srgb")).first(); CORRADE_COMPARE(out.str(), Corrade::Utility::formatString(data.error, "ff3366", "rgb", "s")); CORRADE_COMPARE(state, data.state); } @@ -1236,7 +1220,7 @@ void ColorTest::tweakableErrorRgba() { std::ostringstream out; Warning redirectWarning{&out}; Error redirectError{&out}; - Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366aa", "rgba")).first; + Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366aa", "rgba")).first(); CORRADE_COMPARE(out.str(), Corrade::Utility::formatString(data.error, "ff3366aa", "rgba", "")); CORRADE_COMPARE(state, data.state); } @@ -1248,7 +1232,7 @@ void ColorTest::tweakableErrorSrgba() { std::ostringstream out; Warning redirectWarning{&out}; Error redirectError{&out}; - Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser>::parse(Corrade::Utility::format(data.data, "ff3366aa", "srgba")).first; + Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser>::parse(Corrade::Utility::format(data.data, "ff3366aa", "srgba")).first(); CORRADE_COMPARE(out.str(), Corrade::Utility::formatString(data.error, "ff3366aa", "rgba", "s")); CORRADE_COMPARE(state, data.state); } @@ -1260,7 +1244,7 @@ void ColorTest::tweakableErrorRgbf() { std::ostringstream out; Warning redirectWarning{&out}; Error redirectError{&out}; - Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366", "rgbf")).first; + Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366", "rgbf")).first(); CORRADE_COMPARE(out.str(), Corrade::Utility::formatString(data.error, "ff3366", "rgbf", "")); CORRADE_COMPARE(state, data.state); } @@ -1272,7 +1256,7 @@ void ColorTest::tweakableErrorSrgbf() { std::ostringstream out; Warning redirectWarning{&out}; Error redirectError{&out}; - Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366", "srgbf")).first; + Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366", "srgbf")).first(); CORRADE_COMPARE(out.str(), Corrade::Utility::formatString(data.error, "ff3366", "rgbf", "s")); CORRADE_COMPARE(state, data.state); } @@ -1284,7 +1268,7 @@ void ColorTest::tweakableErrorRgbaf() { std::ostringstream out; Warning redirectWarning{&out}; Error redirectError{&out}; - Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366aa", "rgbaf")).first; + Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366aa", "rgbaf")).first(); CORRADE_COMPARE(out.str(), Corrade::Utility::formatString(data.error, "ff3366aa", "rgbaf", "")); CORRADE_COMPARE(state, data.state); } @@ -1296,7 +1280,7 @@ void ColorTest::tweakableErrorSrgbaf() { std::ostringstream out; Warning redirectWarning{&out}; Error redirectError{&out}; - Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366aa", "srgbaf")).first; + Corrade::Utility::TweakableState state = Corrade::Utility::TweakableParser::parse(Corrade::Utility::format(data.data, "ff3366aa", "srgbaf")).first(); CORRADE_COMPARE(out.str(), Corrade::Utility::formatString(data.error, "ff3366aa", "rgbaf", "s")); CORRADE_COMPARE(state, data.state); }