]>
git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/phoenix/test/bll_compatibility/phoenix_control_structures.cpp
1 // phoenix_style_control_structures.cpp -- The Boost Lambda Library ------
3 // Copyright (C) 2000-2003 Jaakko Jarvi (jaakko.jarvi@cs.utu.fi)
4 // Copyright (C) 2000-2003 Gary Powell (powellg@amazon.com)
6 // Distributed under the Boost Software License, Version 1.0. (See
7 // accompanying file LICENSE_1_0.txt or copy at
8 // http://www.boost.org/LICENSE_1_0.txt)
10 // For more information, see www.boost.org
12 // -----------------------------------------------------------------------
15 #include <boost/core/lightweight_test.hpp>
17 #include "boost/lambda/lambda.hpp"
18 #include "boost/lambda/if.hpp"
19 #include "boost/lambda/loops.hpp"
31 using namespace boost::lambda
;
36 // If-else, while, do-while, for statements
55 //////////////////////////////////
56 for_each(v
.begin(), v
.end(),
57 if_(_1
> 3 && _1
<= 8)
63 BOOST_TEST_EQ(sum
, 4+5+6+7+8);
65 int gt
= 0, eq
= 0, lt
= 0;
66 //////////////////////////////////
67 for_each(v
.begin(), v
.end(),
93 //////////////////////////////////
94 for_each(v
.begin(), v
.end(),
104 BOOST_TEST_EQ(counta
, 55);
105 BOOST_TEST_EQ(countb
, 10);
110 counta
= 0; countb
= 0;
111 //////////////////////////////////
112 for_each(v
.begin(), v
.end(),
123 BOOST_TEST_EQ(counta
, (2+11)*10/2);
124 BOOST_TEST_EQ(countb
, 10);
128 counta
= 0; countb
= 0;
129 //////////////////////////////////
131 for_each(v
.begin(), v
.end(),
133 for_(var(iii
) = 0, var(iii
) < _1
, ++var(iii
))
141 BOOST_TEST_EQ(counta
, (1+10)*10/2);
142 BOOST_TEST_EQ(countb
, 10);
146 return boost::report_errors();