]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/hana/benchmark/fold_left/compile.hana.basic_tuple.erb.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / hana / benchmark / fold_left / compile.hana.basic_tuple.erb.cpp
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/fold_left.hpp>
6 #include <boost/hana/basic_tuple.hpp>
7 namespace hana = boost::hana;
8
9
10 struct f {
11 template <typename State, typename X>
12 constexpr X operator()(State, X x) const { return x; }
13 };
14
15 struct state { };
16
17 template <int i>
18 struct x { };
19
20 int main() {
21 constexpr auto tuple = hana::make_basic_tuple(
22 <%= (1..input_size).map { |n| "x<#{n}>{}" }.join(', ') %>
23 );
24 constexpr auto result = hana::fold_left(tuple, state{}, f{});
25 (void)result;
26 }