PageRenderTime 5ms CodeModel.GetById 1ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/Src/Dependencies/Boost/libs/static_assert/static_assert_test_fail_9.cpp

http://hadesmem.googlecode.com/
C++ | 32 lines | 19 code | 6 blank | 7 comment | 2 complexity | b2b0a8464828c1bbcba9c9e5e5b2f3ae MD5 | raw file
 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
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