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