]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/yap/example/calc2a.cpp
1 // Copyright (C) 2016-2018 T. Zachary Laine
3 // Distributed under the Boost Software License, Version 1.0. (See
4 // accompanying file LICENSE_1_0.txt or copy at
5 // http://www.boost.org/LICENSE_1_0.txt)
7 #include <boost/yap/expression.hpp>
14 using namespace boost::yap::literals
;
16 auto expr_1
= 1_p
+ 2.0;
18 auto expr_1_fn
= [expr_1
](auto &&... args
) {
19 return evaluate(expr_1
, args
...);
22 auto expr_2
= 1_p
* 2_p
;
24 auto expr_2_fn
= [expr_2
](auto &&... args
) {
25 return evaluate(expr_2
, args
...);
28 auto expr_3
= (1_p
- 2_p
) / 2_p
;
30 auto expr_3_fn
= [expr_3
](auto &&... args
) {
31 return evaluate(expr_3
, args
...);
35 std::cout
<< expr_1_fn(3.0) << std::endl
;
38 std::cout
<< expr_2_fn(3.0, 2.0) << std::endl
;
41 std::cout
<< expr_3_fn(3.0, 2.0) << std::endl
;