From f6ddd4fce958f48ab69c6986ec01cb138f05ea2f Mon Sep 17 00:00:00 2001 From: James Benze Date: Thu, 19 May 2016 09:57:05 -0400 Subject: [PATCH] Allow joins to properly join grids Joining two grids (of the same arity) would formerly cause a compiler error. See Trac #12216 --- include/boost/test/data/for_each_sample.hpp | 2 +- include/boost/test/data/monomorphic/join.hpp | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/include/boost/test/data/for_each_sample.hpp b/include/boost/test/data/for_each_sample.hpp index b3bc1ffc78..1ea506c264 100644 --- a/include/boost/test/data/for_each_sample.hpp +++ b/include/boost/test/data/for_each_sample.hpp @@ -63,7 +63,7 @@ invoke_action( Action const& action, T&& args, std::true_type /* is_tuple */ ) { invoke_action_impl( action, std::forward(args), - typename make_index_sequence< 0, std::tuple_size::value >::type{} ); + typename make_index_sequence< 0, std::tuple_size>::value >::type{} ); } diff --git a/include/boost/test/data/monomorphic/join.hpp b/include/boost/test/data/monomorphic/join.hpp index f817994dd3..062117711a 100644 --- a/include/boost/test/data/monomorphic/join.hpp +++ b/include/boost/test/data/monomorphic/join.hpp @@ -41,8 +41,6 @@ class join { typedef typename dataset1_decay::iterator dataset1_iter; typedef typename dataset2_decay::iterator dataset2_iter; public: - typedef typename dataset1_decay::sample sample; - enum { arity = dataset1_decay::arity }; struct iterator { @@ -54,7 +52,7 @@ class join { {} // forward iterator interface - sample const& operator*() const { return m_first_size > 0 ? *m_it1 : *m_it2; } + decltype(auto) operator*() const { return m_first_size > 0 ? *m_it1 : *m_it2; } void operator++() { if( m_first_size > 0 ) { --m_first_size; ++m_it1; } else ++m_it2; } private: