39 lines
989 B
C++
39 lines
989 B
C++
/*=============================================================================
|
|
Copyright (c) 2011 Thomas Heller
|
|
|
|
Distributed under the Boost Software License, Version 1.0. (See accompanying
|
|
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
==============================================================================*/
|
|
|
|
#include <boost/phoenix.hpp>
|
|
#include <boost/typeof/typeof.hpp>
|
|
#include <iostream>
|
|
#include <vector>
|
|
#include <algorithm>
|
|
|
|
int main()
|
|
{
|
|
using boost::phoenix::lambda;
|
|
using boost::phoenix::let;
|
|
using boost::phoenix::ref;
|
|
using boost::phoenix::construct;
|
|
using boost::phoenix::local_names::_a;
|
|
using boost::phoenix::arg_names::_1;
|
|
|
|
BOOST_AUTO(
|
|
generator
|
|
, (lambda
|
|
(
|
|
_a = val(_1)
|
|
)
|
|
[
|
|
std::cout << _a << " "
|
|
, _a++
|
|
] )
|
|
);
|
|
|
|
int i = 0;
|
|
std::vector<int> v(10);
|
|
std::for_each(v.begin(), v.end(), generator(0));
|
|
}
|