LOLA
hana.h
Go to the documentation of this file.
1 #pragma once
2 #include <boost/hana.hpp>
3 
4 template <typename T>
5 std::enable_if_t<boost::hana::Struct<T>::value, bool> equal(T const& a, T const& b)
6 {
7  using namespace boost::hana::literals;
8  bool ret = true;
9  boost::hana::for_each(boost::hana::keys(a), [&](auto const key) {
10  ret &= (boost::hana::at_key(a, key) == boost::hana::at_key(b, key));
11  });
12  return ret;
13 }
14 
15 template <typename T>
16 std::enable_if_t<boost::hana::Struct<T>::value, bool> unequal(T const& a, T const& b)
17 {
18  return !equal(a, b);
19 }
std::enable_if_t< boost::hana::Struct< T >::value, bool > equal(T const &a, T const &b)
Definition: hana.h:5
std::enable_if_t< boost::hana::Struct< T >::value, bool > unequal(T const &a, T const &b)
Definition: hana.h:16