• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 //  boost class noncopyable test program  ------------------------------------//
2 
3 //  (C) Copyright Beman Dawes 1999. Distributed under the Boost
4 //  Software License, Version 1.0. (See accompanying file
5 //  LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 
7 //  See http://www.boost.org for most recent version including documentation.
8 
9 //  Revision History
10 //   9 Jun 99  Add unnamed namespace
11 //   2 Jun 99  Initial Version
12 
13 #include <boost/noncopyable.hpp>
14 #include <iostream>
15 
16 //  This program demonstrates compiler errors resulting from trying to copy
17 //  construct or copy assign a class object derived from class noncopyable.
18 
19 namespace
20 {
21     class DontTreadOnMe : private boost::noncopyable
22     {
23     public:
DontTreadOnMe()24          DontTreadOnMe() { std::cout << "defanged!" << std::endl; }
25     };   // DontTreadOnMe
26 
27 }   // unnamed namespace
28 
main()29 int main()
30 {
31     DontTreadOnMe object1;
32     DontTreadOnMe object2(object1);
33     object1 = object2;
34     return 0;
35 }   // main
36 
37