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/optional.hpp> 6 7 #include <type_traits> 8 namespace hana = boost::hana; 9 10 11 struct Foo { }; 12 main()13int main() { 14 auto just = hana::just(Foo{}); 15 static_assert(std::is_same<decltype(just), hana::optional<Foo>>{}, ""); 16 17 auto nothing = hana::nothing; 18 static_assert(std::is_same<decltype(nothing), hana::optional<>>{}, ""); 19 } 20