diff --git a/src/lib/format-util.hpp b/src/lib/format-util.hpp index 099fb1d0f..3d926e9f5 100644 --- a/src/lib/format-util.hpp +++ b/src/lib/format-util.hpp @@ -194,7 +194,6 @@ namespace util { using Coll = typename lib::meta::Strip::TypePlain; _RangeIter range(std::forward(coll)); -#if false //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility auto strings = stringify (std::move (range.iter)); if (!strings) return ""; @@ -206,8 +205,6 @@ namespace util { size_t len = buffer.str().length(); ASSERT (len >= delim.length()); return buffer.str().substr(0, len - delim.length()); -#endif //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility - return "bääh"; } template diff --git a/src/lib/meta/function.hpp b/src/lib/meta/function.hpp index 1075c197c..5ac064e8d 100644 --- a/src/lib/meta/function.hpp +++ b/src/lib/meta/function.hpp @@ -129,6 +129,13 @@ namespace meta{ using Sig = RET(ARGS...); using Functor = std::function; }; + + /** Specialisation to strip `noexcept` from the signature */ + template + struct _Fun + : _Fun + { }; + /** Specialisation for using a function pointer */ template struct _Fun @@ -153,6 +160,12 @@ namespace meta{ : _Fun { }; + /** Specialisation to deal with member pointer to noexcept function */ + template + struct _Fun + : _Fun + { }; + /** Specialisation to handle member pointer to const function; * indirectly this specialisation also handles lambdas, * as redirected by the main template (via `decltype`) */ diff --git a/tests/library/diff/tree-mutator-binding-test.cpp b/tests/library/diff/tree-mutator-binding-test.cpp index 093427a08..8059810b8 100644 --- a/tests/library/diff/tree-mutator-binding-test.cpp +++ b/tests/library/diff/tree-mutator-binding-test.cpp @@ -408,10 +408,7 @@ namespace test{ mutator1.injectNew (ATTRIB1); CHECK (!isnil (target)); -#if false //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility CHECK (contains(join(target), "≺α∣1≻")); -#endif //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility - UNIMPLEMENTED ("C++17"); mutator1.injectNew (ATTRIB3); mutator1.injectNew (ATTRIB3); @@ -420,7 +417,6 @@ namespace test{ mutator1.injectNew (CHILD_T); CHECK (mutator1.completeScope()); -#if false //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility auto contents = stringify(eachElm(target)); CHECK ("≺α∣1≻" == *contents); ++contents; @@ -435,8 +431,6 @@ namespace test{ CHECK (contains(*contents, "∣78:56:34.012≻")); ++contents; CHECK (isnil (contents)); -#endif //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility - UNIMPLEMENTED ("C++17"); cout << "injected......" << join(target) <; @@ -169,7 +166,6 @@ namespace test { ++nn; CHECK (6 == *nn); -#if false //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility auto sn = stringify (nn); CHECK ("6" == *sn); ++sn; @@ -186,8 +182,6 @@ namespace test { CHECK ("9" == *sn); ++sn; CHECK (isnil (sn)); -#endif //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility - UNIMPLEMENTED ("C++17"); } diff --git a/tests/library/item-wrapper-test.cpp b/tests/library/item-wrapper-test.cpp index 598d2b811..f336e066d 100644 --- a/tests/library/item-wrapper-test.cpp +++ b/tests/library/item-wrapper-test.cpp @@ -312,7 +312,6 @@ namespace test{ void verifyFunctionResult() { -#if false //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility FunctionResult randomVal (std::rand); // function was never invoked, thus the remembered result is NIL @@ -331,8 +330,6 @@ namespace test{ CHECK (v2 == *randomVal); CHECK (v2 == *randomVal); CHECK (v1 != *randomVal); -#endif //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility - UNIMPLEMENTED ("C++17"); } diff --git a/tests/stage/test/test-nexus.cpp b/tests/stage/test/test-nexus.cpp index 508372757..2eb38c2fd 100644 --- a/tests/stage/test/test-nexus.cpp +++ b/tests/stage/test/test-nexus.cpp @@ -496,11 +496,9 @@ namespace test{ { EventLog::ArgSeq strings; strings.reserve (argData.childSize()); -#if false //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility append_all (transformIterator (childData (argData.scope()) , util::toString) ,strings); -#endif //////////////////////////////////////////////////////////////////////////////////////////////////TICKET #1138 : sort out C++17 compatibility return strings; } diff --git a/wiki/thinkPad.ichthyo.mm b/wiki/thinkPad.ichthyo.mm index 28d0baf5b..03d827485 100644 --- a/wiki/thinkPad.ichthyo.mm +++ b/wiki/thinkPad.ichthyo.mm @@ -45594,8 +45594,8 @@ - - + + @@ -45643,17 +45643,20 @@ - - + + + + - + + - + @@ -45797,6 +45800,30 @@ + + + + + + + + + + + + + + + +

+ mit const und volatile... +

+ + +
+ +
+