libjmmcg
release_579_6_g8cffd
A C++ library containing an eclectic mix of useful, advanced components.
non_copyable.hpp
Go to the documentation of this file.
1
#
ifndef
LIBJMMCG_CORE_NON_COPYABLE_HPP
2
#
define
LIBJMMCG_CORE_NON_COPYABLE_HPP
3
/******************************************************************************
4
** Copyright © 2008 by J.M.McGuiness, jmmcg@sourceforge.net & coder@hussar.me.uk
5
**
6
** This library is free software; you can redistribute it and/or
7
** modify it under the terms of the GNU Lesser General Public
8
** License as published by the Free Software Foundation; either
9
** version 2.1 of the License, or (at your option) any later version.
10
**
11
** This library is distributed in the hope that it will be useful,
12
** but WITHOUT ANY WARRANTY; without even the implied warranty of
13
** MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
** Lesser General Public License for more details.
15
**
16
** You should have received a copy of the GNU Lesser General Public
17
** License along with this library; if not, write to the Free Software
18
** Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19
*/
20
21
#
include
"blatant_old_msvc_compiler_hacks.hpp"
22
23
namespace
jmmcg
{
namespace
LIBJMMCG_VER_NAMESPACE
{
24
25
/// Used to try to help ensure that an object cannot be copied.
26
class
non_assignable
{
27
void
operator=(
non_assignable
const
&)=
delete
;
28
void
operator=(
non_assignable
&&)=
delete
;
29
};
30
31
/// Used to try to help ensure that an object cannot be copied.
32
class
non_copyable
:
protected
non_assignable
{
33
protected
:
34
non_copyable
()=
default
;
35
~
non_copyable
()=
default
;
36
37
non_copyable
(
non_copyable
const
&)=
delete
;
38
non_copyable
(
non_copyable
&&)=
delete
;
39
void
operator
=(
non_copyable
const
&)=
delete
;
40
void
operator
=(
non_copyable
&&)=
delete
;
41
};
42
43
} }
44
45
#
endif
core
non_copyable.hpp
Generated on Tue May 11 2021 17:16:08 for libjmmcg by
1.9.2