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

http://hadesmem.googlecode.com/ · C++ · 31 lines · 19 code · 6 blank · 6 comment · 2 complexity · 3e958577041b3234482a29212741f023 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. // See http://www.boost.org for most recent version including documentation.
  6. #include <climits>
  7. #include <boost/limits.hpp>
  8. #include <boost/static_assert.hpp>
  9. template <class UnsignedInt>
  10. class myclass
  11. {
  12. private:
  13. BOOST_STATIC_ASSERT(sizeof(UnsignedInt) * CHAR_BIT >= 16);
  14. BOOST_STATIC_ASSERT(std::numeric_limits<UnsignedInt>::is_specialized
  15. && std::numeric_limits<UnsignedInt>::is_integer
  16. && !std::numeric_limits<UnsignedInt>::is_signed);
  17. public:
  18. /* details here */
  19. };
  20. myclass<int> m2; // this should fail
  21. myclass<unsigned char> m3; // and so should this
  22. int main()
  23. {
  24. return 0;
  25. }