HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_NonCopyable.h
Go to the documentation of this file.
1 /*
2  * PROPRIETARY INFORMATION. This software is proprietary to
3  * Side Effects Software Inc., and is not to be reproduced,
4  * transmitted, or disclosed in any way without written permission.
5  *
6  * NAME: UT_NonCopyable (UT Library, C++)
7  *
8  * COMMENTS: Inherit UT_NonCopyable to deny class copying
9  *
10  */
11 
12 #ifndef __UT_NONCOPYABLE_H_INCLUDED__
13 #define __UT_NONCOPYABLE_H_INCLUDED__
14 
15 namespace UT_NonCopyableNS
16 {
18 {
19 protected:
20  UT_NonCopyable() = default;
21  ~UT_NonCopyable() = default;
22 
23  UT_NonCopyable( const UT_NonCopyable& ) = delete;
24  UT_NonCopyable& operator=( const UT_NonCopyable& ) = delete;
25 };
26 }
27 
29 
30 /// Define deleted copy constructor and assignment operator inside a class
31 #define UT_NON_COPYABLE(CLASS) CLASS(const CLASS &) = delete; \
32  CLASS &operator=(const CLASS &) = delete; \
33  /**/
34 
35 #endif // __UT_NONCOPYABLE_H_INCLUDED__
UT_NonCopyableNS::UT_NonCopyable UT_NonCopyable
UT_NonCopyable & operator=(const UT_NonCopyable &)=delete