]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/hana/benchmark/fold_left/compile.fusion.vector.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)
5 <% if input_size
> 10 %>
6 #define FUSION_MAX_VECTOR_SIZE <%= ((input_size + 9) / 10) * 10 %>
9 #include <boost/fusion/include/fold.hpp>
10 #include <boost/fusion/include/make_vector.hpp>
11 namespace fusion
= boost::fusion
;
15 template <typename State
, typename X
>
16 constexpr X
operator()(State
, X x
) const { return x
; }
25 auto xs
= fusion::make_vector(
26 <%= (1..input_size
).map
{ |n
| "x<#{n}>{}" }.join(', ') %>
29 auto result
= fusion::fold(xs
, state
{}, f
{});