IMP  2.0.0
The Integrative Modeling Platform
NonCopyable.h
Go to the documentation of this file.
1 /**
2  * \file IMP/base/NonCopyable.h \brief Basic types used by IMP.
3  *
4  * Copyright 2007-2013 IMP Inventors. All rights reserved.
5  *
6  */
7 
8 #ifndef IMPBASE_NON_COPYABLE_H
9 #define IMPBASE_NON_COPYABLE_H
10 
11 #include <IMP/base/base_config.h>
12 #include "utility_macros.h"
13 
14 IMPBASE_BEGIN_NAMESPACE
15 /** Non-copyable classes cannot be copied, as the name implies. If you need
16  to do delayed initialization, either use an initialize method on them or
17  use a boost::scoped_ptr to allocate them on the heap.
18 */
19 class NonCopyable {
20  protected:
21  NonCopyable(){}
22 };
23 IMPBASE_END_NAMESPACE
24 
25 #endif /* IMPBASE_NON_COPYABLE_H */