1 // Copyright Louis Dionne 2013-2017 2 // Distributed under the Boost Software License, Version 1.0. 3 // (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt) 4 5 #include <boost/hana/transform.hpp> 6 #include <boost/hana/tuple.hpp> 7 8 9 struct f { 10 template <typename X> operator ()f11 constexpr X operator()(X x) const { return x; } 12 }; 13 14 template <int i> 15 struct x { }; 16 main()17int main() { 18 constexpr auto tuple = boost::hana::make_tuple( 19 <%= (1..input_size).map { |n| "x<#{n}>{}" }.join(', ') %> 20 ); 21 constexpr auto result = boost::hana::transform(tuple, f{}); 22 (void)result; 23 } 24