1// Copyright Louis Dionne 2013-2022
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>
10namespace hana = boost::hana;
11using hana::test::ct_eq;
12
13
14struct undefined { };
15
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

source code of boost/libs/hana/test/optional/value_or.cpp