• 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/greater.hpp>
7 #include <boost/hana/greater_equal.hpp>
8 #include <boost/hana/integral_constant.hpp>
9 #include <boost/hana/less.hpp>
10 #include <boost/hana/less_equal.hpp>
11 #include <boost/hana/not.hpp>
12 #include <boost/hana/string.hpp>
13 namespace hana = boost::hana;
14 
15 
main()16 int main() {
17     BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::less(
18         BOOST_HANA_STRING(""),
19         BOOST_HANA_STRING("")
20     )));
21 
22     BOOST_HANA_CONSTANT_CHECK(hana::less(
23         BOOST_HANA_STRING(""),
24         BOOST_HANA_STRING("a")
25     ));
26 
27     BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::less(
28         BOOST_HANA_STRING("a"),
29         BOOST_HANA_STRING("")
30     )));
31 
32     BOOST_HANA_CONSTANT_CHECK(hana::less(
33         BOOST_HANA_STRING("a"),
34         BOOST_HANA_STRING("ab")
35     ));
36 
37     BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::less(
38         BOOST_HANA_STRING("ab"),
39         BOOST_HANA_STRING("ab")
40     )));
41 
42     BOOST_HANA_CONSTANT_CHECK(hana::less(
43         BOOST_HANA_STRING("abc"),
44         BOOST_HANA_STRING("abcde")
45     ));
46 
47     BOOST_HANA_CONSTANT_CHECK(hana::less(
48         BOOST_HANA_STRING("abcde"),
49         BOOST_HANA_STRING("abfde")
50     ));
51 
52     // check operators
53     BOOST_HANA_CONSTANT_CHECK(
54         BOOST_HANA_STRING("abc") < BOOST_HANA_STRING("abcd")
55     );
56     BOOST_HANA_CONSTANT_CHECK(
57         BOOST_HANA_STRING("abc") <= BOOST_HANA_STRING("abcd")
58     );
59     BOOST_HANA_CONSTANT_CHECK(
60         BOOST_HANA_STRING("abcd") > BOOST_HANA_STRING("abc")
61     );
62     BOOST_HANA_CONSTANT_CHECK(
63         BOOST_HANA_STRING("abcd") >= BOOST_HANA_STRING("abc")
64     );
65 }
66