summaryrefslogtreecommitdiffstats
path: root/src/boost/libs/hana/example/cppcon_2014/comparable.cpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--src/boost/libs/hana/example/cppcon_2014/comparable.cpp55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/boost/libs/hana/example/cppcon_2014/comparable.cpp b/src/boost/libs/hana/example/cppcon_2014/comparable.cpp
new file mode 100644
index 000000000..f93151460
--- /dev/null
+++ b/src/boost/libs/hana/example/cppcon_2014/comparable.cpp
@@ -0,0 +1,55 @@
+// Copyright Louis Dionne 2013-2017
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)
+
+#include <boost/hana/assert.hpp>
+#include <boost/hana/equal.hpp>
+#include <boost/hana/not.hpp>
+
+#include "matrix/comparable.hpp"
+namespace hana = boost::hana;
+using namespace cppcon;
+
+
+int main() {
+ BOOST_HANA_CONSTEXPR_CHECK(hana::equal(
+ matrix(row(1, 2)),
+ matrix(row(1, 2))
+ ));
+ BOOST_HANA_CONSTEXPR_CHECK(hana::not_(hana::equal(
+ matrix(row(1, 2)),
+ matrix(row(1, 5))
+ )));
+
+ BOOST_HANA_CONSTEXPR_CHECK(hana::equal(
+ matrix(row(1, 2),
+ row(3, 4)),
+ matrix(row(1, 2),
+ row(3, 4))
+ ));
+ BOOST_HANA_CONSTEXPR_CHECK(hana::not_(hana::equal(
+ matrix(row(1, 2),
+ row(3, 4)),
+ matrix(row(1, 2),
+ row(0, 4))
+ )));
+ BOOST_HANA_CONSTEXPR_CHECK(hana::not_(hana::equal(
+ matrix(row(1, 2),
+ row(3, 4)),
+ matrix(row(0, 2),
+ row(3, 4))
+ )));
+
+ BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
+ matrix(row(1),
+ row(2)),
+ matrix(row(3, 4),
+ row(5, 6))
+ )));
+ BOOST_HANA_CONSTANT_CHECK(hana::not_(hana::equal(
+ matrix(row(1),
+ row(2)),
+ matrix(row(3, 4))
+ )));
+}
+