blob: 3392ee73f0e708415911415e62bde76194370d1d [file] [log] [blame]
/*
Copyright 2018 T. Zachary Laine
(whatwasthataddress@gmail.com)
Distributed under Boost Software License, Version 1.0.
(See accompanying file LICENSE_1_0.txt or copy at
http://www.boost.org/LICENSE_1_0.txt)
*/
// MACRO: BOOST_NO_CXX17_IF_CONSTEXPR
// TITLE: C++17 if constexpr
// DESCRIPTION: C++17 if constexpr are not supported.
namespace boost_no_cxx17_if_constexpr {
template <typename T, typename U>
struct same
{
static constexpr bool value = false;
};
template <typename T>
struct same<T, T>
{
static constexpr bool value = true;
};
int test()
{
if constexpr (true) {
if constexpr (1 != 0) {
if constexpr (same<int, double>::value) {
static_assert(!same<int, double>::value, "");
return 1;
} else if constexpr (false) {
return 1;
} else {
return 0;
}
}
}
return 1;
}
}