2
0
mirror of https://github.com/boostorg/hana.git synced 2026-02-21 15:12:21 +00:00

Use finer grained assertions acknowledging Constants

This commit is contained in:
Louis Dionne
2014-08-05 10:37:54 -04:00
parent bf5eb10c46
commit d132db0ebf
436 changed files with 2672 additions and 2554 deletions

View File

@@ -4,7 +4,7 @@ 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/detail/static_assert.hpp>
#include <boost/hana/detail/assert.hpp>
#include <boost/hana/ext/std/integral_constant.hpp>
#include <boost/hana/functional.hpp>
#include <boost/hana/list/instance.hpp>
@@ -18,11 +18,11 @@ using namespace boost::hana;
int main() {
//! [main]
BOOST_HANA_STATIC_ASSERT(find(trait_<std::is_integral>, list(1.0, 2, '3')) == just(2));
BOOST_HANA_STATIC_ASSERT(find(trait_<std::is_class>, list(1.0, 2, '3')) == nothing);
BOOST_HANA_CONSTEXPR_ASSERT(find(trait_<std::is_integral>, list(1.0, 2, '3')) == just(2));
BOOST_HANA_CONSTANT_ASSERT(find(trait_<std::is_class>, list(1.0, 2, '3')) == nothing);
constexpr auto types = type_list<char, int, unsigned, long, unsigned long>;
BOOST_HANA_STATIC_ASSERT(find(_ == type<unsigned>, types) == just(type<unsigned>));
BOOST_HANA_STATIC_ASSERT(find(_ == type<void>, types) == nothing);
BOOST_HANA_CONSTANT_ASSERT(find(_ == type<unsigned>, types) == just(type<unsigned>));
BOOST_HANA_CONSTANT_ASSERT(find(_ == type<void>, types) == nothing);
//! [main]
}