IMP  2.1.1
The Integrative Modeling Platform
base/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
16  implies. If you need
17  to do delayed initialization, either use an
18  initialize method on them or
19  use a boost::scoped_ptr to allocate them on the
20  heap.
21  */
22 class NonCopyable {
23  protected:
24  NonCopyable() {}
25 };
26 IMPBASE_END_NAMESPACE
27 
28 #endif /* IMPBASE_NON_COPYABLE_H */
Various general useful macros for IMP.