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 <meta/meta.hpp> 6 7 8 struct f { 9 template <typename, typename> 10 struct apply; 11 }; 12 13 template <int> struct x; 14 15 struct state; 16 17 using list = meta::list< 18 <%= (1..input_size).map { |i| "x<#{i}>" }.join(', ') %> 19 >; 20 21 using result = meta::fold<list, state, f>; 22 main()23int main() { 24 25 } 26