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()15 int 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