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/contains.hpp> 7 #include <boost/hana/integral_constant.hpp> 8 #include <boost/hana/not.hpp> 9 #include <boost/hana/string.hpp> 10 namespace hana = boost::hana; 11 12 13 struct invalid { }; 14 main()15int main() { 16 BOOST_HANA_CONSTANT_CHECK(hana::contains( 17 BOOST_HANA_STRING("abcd"), 18 hana::char_c<'a'> 19 )); 20 BOOST_HANA_CONSTANT_CHECK(hana::contains( 21 BOOST_HANA_STRING("abcd"), 22 hana::char_c<'c'> 23 )); 24 BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::contains( 25 BOOST_HANA_STRING("abcd"), 26 hana::char_c<'e'> 27 ))); 28 BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::contains( 29 BOOST_HANA_STRING("abcd"), 30 invalid{} 31 ))); 32 } 33