/* 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 struct same { static constexpr bool value = false; }; template struct same { static constexpr bool value = true; }; int test() { if constexpr (true) { if constexpr (1 != 0) { if constexpr (same::value) { static_assert(!same::value, ""); return 1; } else if constexpr (false) { return 1; } else { return 0; } } } return 1; } }