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/assert.hpp> 6 #include <boost/hana/equal.hpp> 7 #include <boost/hana/optional.hpp> 8 9 #include <laws/base.hpp> 10 namespace hana = boost::hana; 11 using hana::test::ct_eq; 12 13 14 struct undefined { }; 15 main()16int main() { 17 BOOST_HANA_CONSTANT_CHECK(hana::equal( 18 hana::nothing.value_or(ct_eq<3>{}), 19 ct_eq<3>{} 20 )); 21 22 BOOST_HANA_CONSTANT_CHECK(hana::equal( 23 hana::just(ct_eq<4>{}).value_or(undefined{}), 24 ct_eq<4>{} 25 )); 26 } 27