From d263aefa61722cdb4a7dcb99f9ce856c96c5b3e1 Mon Sep 17 00:00:00 2001 From: Sam Yates <sam@quux.dropbear.id.au> Date: Thu, 1 Sep 2016 20:24:44 +0200 Subject: [PATCH] Compatibiliy fixes for gcc 4.9.2, clang 3.5 See defect report: http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#1467 --- src/util/meta.hpp | 6 ------ src/util/transform.hpp | 2 +- tests/unit/test_nop.cpp | 8 ++++---- 3 files changed, 5 insertions(+), 11 deletions(-) diff --git a/src/util/meta.hpp b/src/util/meta.hpp index 210cb439..40f08d48 100644 --- a/src/util/meta.hpp +++ b/src/util/meta.hpp @@ -55,12 +55,6 @@ struct sequence_traits { using const_sentinel = decltype(cend(std::declval<Seq&>())); }; -template <typename X> -std::size_t size(const X& x) { return x.size(); } - -template <typename X, std::size_t N> -constexpr std::size_t size(X (&)[N]) { return N; } - // Convenience short cuts template <typename T> diff --git a/src/util/transform.hpp b/src/util/transform.hpp index f7d9fed0..d6c930db 100644 --- a/src/util/transform.hpp +++ b/src/util/transform.hpp @@ -38,7 +38,7 @@ public: using reference = const value_type&; template <typename J, typename G> - transform_iterator(J&& c, G&& g): inner_{std::forward<J>(c)}, f_{std::forward<G>(g)} {} + transform_iterator(J&& c, G&& g): inner_(std::forward<J>(c)), f_(std::forward<G>(g)) {} transform_iterator(const transform_iterator&) = default; transform_iterator(transform_iterator&&) = default; diff --git a/tests/unit/test_nop.cpp b/tests/unit/test_nop.cpp index e3571ad8..0ee03db2 100644 --- a/tests/unit/test_nop.cpp +++ b/tests/unit/test_nop.cpp @@ -4,7 +4,7 @@ using namespace nest::mc::util; TEST(nop, void_fn) { - std::function<void ()> f{nop_function}; + std::function<void ()> f(nop_function); EXPECT_TRUE(f); f(); // should do nothing @@ -20,7 +20,7 @@ TEST(nop, void_fn) { EXPECT_FALSE(flag); // with some arguments - std::function<void (int, int)> g{nop_function}; + std::function<void (int, int)> g(nop_function); EXPECT_TRUE(g); g(2, 3); // should do nothing @@ -43,7 +43,7 @@ struct check_default { }; TEST(nop, default_return_fn) { - std::function<check_default ()> f{nop_function}; + std::function<check_default ()> f(nop_function); EXPECT_TRUE(f); auto result = f(); @@ -57,7 +57,7 @@ TEST(nop, default_return_fn) { result = f(); EXPECT_EQ(result.value, 100); - std::function<check_default (double, double)> g{nop_function}; + std::function<check_default (double, double)> g(nop_function); EXPECT_TRUE(g); result = g(1.4, 1.5); -- GitLab