is_embedded.cpp 645 B

1234567891011121314151617181920
  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. #include <boost/hana/core/to.hpp>
  5. namespace hana = boost::hana;
  6. static_assert(hana::is_embedded<int, long>{}, "");
  7. // int -> unsigned long could cause negative values to be lost
  8. static_assert(!hana::is_embedded<int, unsigned int long>{}, "");
  9. // similarly, float can't represent all the values of int
  10. static_assert(!hana::is_embedded<int, float>{}, "");
  11. // OK, the conversion is lossless
  12. static_assert(hana::is_embedded<float, double>{}, "");
  13. int main() { }