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/eval.hpp> 6 #include <boost/hana/functional/placeholder.hpp> 7 #include <boost/hana/lazy.hpp> 8 #include <boost/hana/transform.hpp> 9 namespace hana = boost::hana; 10 using hana::_; 11 12 main()13int main() { 14 static_assert(hana::eval(hana::transform(hana::make_lazy(4 / _)(1), _ * 3)) == (4 / 1) * 3, ""); 15 16 hana::transform(hana::make_lazy(4 / _)(0), _ * 3); // never evaluated 17 } 18