config/test/boost_no_limits_const_exp.ipp
2003-10-14 10:33:24 +00:00

43 lines
1.0 KiB
C++

// (C) Copyright John Maddock 2001.
// Use, modification and distribution are subject to the
// Boost Software License, Version 1.0. (See accompanying file
// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
// See http://www.boost.org/libs/config for most recent version.
// MACRO: BOOST_NO_LIMITS_COMPILE_TIME_CONSTANTS
// TITLE: compile time constants in <limits>
// DESCRIPTION: constants such as numeric_limits<T>::is_signed
// are not available for use at compile-time.
#include <limits>
namespace boost_no_limits_compile_time_constants{
struct UDT{};
template <int i>
struct assert_ice
{
enum { value = i };
};
int test()
{
assert_ice< ::std::numeric_limits<int>::is_signed > one;
assert_ice< ::std::numeric_limits<double>::is_specialized > two;
assert_ice< ::std::numeric_limits<UDT>::is_specialized > three;
assert_ice< ::std::numeric_limits<UDT>::is_signed > four;
(void)one;
(void)two;
(void)three;
(void)four;
return 0;
}
}