]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/static_assert/static_assert_test_fail_5.cpp
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / static_assert / static_assert_test_fail_5.cpp
1 // (C) Copyright Steve Cleary & 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 <boost/static_assert.hpp>
9
10 //
11 // all these tests should fail:
12 //
13
14 // Template class scope
15 template <class Int, class Char>
16 struct Bill
17 {
18 private: // can be in private, to avoid namespace pollution
19 BOOST_STATIC_ASSERT(sizeof(Int) == 4);
20 BOOST_STATIC_ASSERT(sizeof(Int) == sizeof(Char)); // should not compile when instantiated
21 public:
22
23 // Template member function scope: provides access to member variables
24 Int x;
25 Char c;
26 template <class Int2, class Char2>
27 void f(Int2 , Char2 )
28 {
29 BOOST_STATIC_ASSERT(sizeof(Int) == sizeof(Int2));
30 BOOST_STATIC_ASSERT(sizeof(Char) == sizeof(Char2));
31 //BOOST_STATIC_ASSERT(sizeof(Int) == sizeof(Char)); // should not compile when instantiated
32 }
33 };
34
35 Bill<int, char> b;
36
37
38
39