My Project
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Typedefs
Enumerations
Enumerator
Properties
Macros
NonCopyable.h
1
/*
2
* Copyright (C) 2013 Canonical Ltd
3
*
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU Lesser General Public License version 3 as
6
* published by the Free Software Foundation.
7
*
8
* This program is distributed in the hope that it will be useful,
9
* but WITHOUT ANY WARRANTY; without even the implied warranty of
10
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11
* GNU Lesser General Public License for more details.
12
*
13
* You should have received a copy of the GNU Lesser General Public License
14
* along with this program. If not, see <http://www.gnu.org/licenses/>.
15
*
16
* Authored by: Michi Henning <michi.henning@canonical.com>
17
*/
18
19
//
20
// Simple class to disable copy and assignment. (Provided here to avoid having to use
21
// the equivalent boost version.)
22
//
23
// Use like this:
24
//
25
// class MyClass : private util::NonCopyable
26
// {
27
// // ...
28
// };
29
//
30
31
#ifndef UNITY_UTIL_NONCOPYABLE_H
32
#define UNITY_UTIL_NONCOPYABLE_H
33
34
#include <unity/SymbolExport.h>
35
36
namespace
unity
37
{
38
39
namespace
util
40
{
41
42
namespace
NonCopyable_
// Prevent unintended ADL
43
{
44
70
class
UNITY_API
NonCopyable
71
{
72
protected
:
73
NonCopyable
() =
default
;
74
~
NonCopyable
() =
default
;
75
76
private
:
77
NonCopyable
(
NonCopyable
const
&) =
delete
;
78
NonCopyable
& operator=(
NonCopyable
const
&) =
delete
;
79
};
80
81
}
// namespace NonCopyable_
82
83
typedef
NonCopyable_::NonCopyable
NonCopyable
;
84
85
}
// namespace util
86
87
}
// namespace unity
88
89
#endif
include
unity
util
NonCopyable.h
Generated on Fri Sep 27 2013 10:38:24 for My Project by
1.8.4