• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 // this tests should fail:
12 //
13 typedef char a1[2];
14 typedef char a2[3];
15 
16 struct Bob
17 {
18   private:  // can be in private, to avoid namespace pollution
19     BOOST_STATIC_ASSERT(sizeof(a1) == sizeof(a2)); // will not compile
20   public:
21 
22   // Member function scope: provides access to member variables
23   int x;
24   char c;
fBob25   int f()
26   {
27 #ifndef _MSC_VER // broken sizeof in VC6
28     BOOST_STATIC_ASSERT(sizeof(x) == 4);
29     BOOST_STATIC_ASSERT(sizeof(c) == 1);
30 #endif
31     return x;
32   }
33 };
34 
35 
36 
37 
38 
39 
40