• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //  (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 
12 template <class UnsignedInt>
13 class myclass
14 {
15 private:
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);
20 public:
21    /* details here */
22 };
23 
24 myclass<int>           m2; // this should fail
25 myclass<unsigned char> m3; // and so should this
26 
main()27 int main()
28 {
29    return 0;
30 }
31 
32