blob: 09e4af9e6f62414001c73531b340e91134161073 [file] [log] [blame]
Brian Silverman50051a92018-08-04 20:43:41 -07001// (C) Copyright John Maddock 2000.
2// Use, modification and distribution are subject to the
3// Boost Software License, Version 1.0. (See accompanying file
4// LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5
6// See http://www.boost.org for most recent version including documentation.
7
8#include <climits>
9#include <boost/limits.hpp>
10#include <boost/static_assert.hpp>
11
12template <class UnsignedInt>
13class myclass
14{
15private:
16 BOOST_STATIC_ASSERT(sizeof(UnsignedInt) * CHAR_BIT >= 16);
17 BOOST_STATIC_ASSERT(std::numeric_limits<UnsignedInt>::is_specialized
18 && std::numeric_limits<UnsignedInt>::is_integer
19 && !std::numeric_limits<UnsignedInt>::is_signed);
20public:
21 /* details here */
22};
23
24myclass<unsigned> m1; // this should be OK
25//myclass<int> m2; // this should fail
26myclass<unsigned char> m3; // and so should this
27
28int main()
29{
30 return 0;
31}
32