Scarab  v2.2.3
Project 8 C++ Utility Library
destroyer.hh
Go to the documentation of this file.
1 /*
2  * destroyer.hh
3  *
4  * Created on: Nov 7, 2011
5  * Author: nsoblath
6  */
7 
8 #ifndef SCARAB_DESTROYER_HH_
9 #define SCARAB_DESTROYER_HH_
10 
11 namespace scarab
12 {
13 
14  template< class XDoomed >
15  class destroyer
16  {
17  public:
18  destroyer( XDoomed* = 0 );
19  ~destroyer();
20 
21  void set_doomed( XDoomed* );
22 
23  private:
24  // Prevent users from making copies of a destroyer to avoid double deletion:
26  void operator=( const destroyer< XDoomed >& );
27 
28  private:
29  XDoomed* f_doomed;
30  };
31 
32  template< class XDoomed >
34  {
35  f_doomed = d;
36  }
37 
38  template< class XDoomed >
40  {
41  delete f_doomed;
42  }
43 
44  template< class XDoomed >
46  {
47  f_doomed = d;
48  }
49 
50 } /* namespace scarab */
51 #endif /* SCARAB_DESTROYER_HH_ */
void set_doomed(XDoomed *)
Definition: destroyer.hh:45
destroyer(XDoomed *=0)
Definition: destroyer.hh:33
void operator=(const destroyer< XDoomed > &)
XDoomed * f_doomed
Definition: destroyer.hh:29