• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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/at.hpp>
7 #include <boost/hana/equal.hpp>
8 #include <boost/hana/integral_constant.hpp>
9 #include <boost/hana/string.hpp>
10 namespace hana = boost::hana;
11 
12 
main()13 int main() {
14     BOOST_HANA_CONSTANT_CHECK(hana::equal(
15         BOOST_HANA_STRING("abcd")[hana::size_c<2>],
16         hana::char_c<'c'>
17     ));
18 
19     BOOST_HANA_CONSTANT_CHECK(hana::equal(
20         hana::at(BOOST_HANA_STRING("a"), hana::size_c<0>),
21         hana::char_c<'a'>
22     ));
23     BOOST_HANA_CONSTANT_CHECK(hana::equal(
24         hana::at(BOOST_HANA_STRING("ab"), hana::size_c<0>),
25         hana::char_c<'a'>
26     ));
27     BOOST_HANA_CONSTANT_CHECK(hana::equal(
28         hana::at(BOOST_HANA_STRING("abc"), hana::size_c<0>),
29         hana::char_c<'a'>
30     ));
31 
32     BOOST_HANA_CONSTANT_CHECK(hana::equal(
33         hana::at(BOOST_HANA_STRING("ab"), hana::size_c<1>),
34         hana::char_c<'b'>
35     ));
36     BOOST_HANA_CONSTANT_CHECK(hana::equal(
37         hana::at(BOOST_HANA_STRING("abc"), hana::size_c<1>),
38         hana::char_c<'b'>
39     ));
40     BOOST_HANA_CONSTANT_CHECK(hana::equal(
41         hana::at(BOOST_HANA_STRING("abcd"), hana::size_c<1>),
42         hana::char_c<'b'>
43     ));
44 
45     BOOST_HANA_CONSTANT_CHECK(hana::equal(
46         hana::at(BOOST_HANA_STRING("abc"), hana::size_c<2>),
47         hana::char_c<'c'>
48     ));
49     BOOST_HANA_CONSTANT_CHECK(hana::equal(
50         hana::at(BOOST_HANA_STRING("abcd"), hana::size_c<2>),
51         hana::char_c<'c'>
52     ));
53 }
54