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/ap.hpp> 6 #include <boost/hana/assert.hpp> 7 #include <boost/hana/equal.hpp> 8 #include <boost/hana/optional.hpp> 9 namespace hana = boost::hana; 10 11 next(char c)12constexpr char next(char c) { return c + 1; } 13 14 static_assert(hana::ap(hana::just(next), hana::just('x')) == hana::just('y'), ""); 15 BOOST_HANA_CONSTANT_CHECK(hana::ap(hana::nothing, hana::just('x')) == hana::nothing); 16 BOOST_HANA_CONSTANT_CHECK(hana::ap(hana::just(next), hana::nothing) == hana::nothing); 17 BOOST_HANA_CONSTANT_CHECK(hana::ap(hana::nothing, hana::nothing) == hana::nothing); 18 main()19int main() { } 20