coan
6.0.1
A C/C++ Configuration Analyzer
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
prohibit.h
Go to the documentation of this file.
1
#ifndef PROHIBIT_H
2
#define PROHIBIT_H
3
#pragma once
4
/***************************************************************************
5
* Copyright (C) 2007-2013 Mike Kinghan, imk@burroingroingjoing.com *
6
* All rights reserved. *
7
* *
8
* Redistribution and use in source and binary forms, with or without *
9
* modification, are permitted provided that the following conditions *
10
* are met: *
11
* *
12
* Redistributions of source code must retain the above copyright *
13
* notice, this list of conditions and the following disclaimer. *
14
* *
15
* Redistributions in binary form must reproduce the above copyright *
16
* notice, this list of conditions and the following disclaimer in the *
17
* documentation and/or other materials provided with the distribution. *
18
* *
19
* Neither the name of Mike Kinghan nor the names of its contributors *
20
* may be used to endorse or promote products derived from this software *
21
* without specific prior written permission. *
22
* *
23
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS *
24
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT *
25
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS *
26
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE *
27
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, *
28
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, *
29
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS *
30
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED *
31
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,*
32
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF *
33
* THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH *
34
* DAMAGE. *
35
* *
36
**************************************************************************/
37
45
struct
no_copy_init
47
{
49
no_copy_init
() =
default
;
50
no_copy_init
(
no_copy_init
const
&) =
delete
;
51
no_copy_init
(
no_copy_init
&&) =
delete
;
53
};
54
56
struct
no_assign
57
{
59
no_assign
() =
default
;
60
no_assign
(
no_assign
const
&) =
default
;
61
no_assign
(
no_assign
&&) =
default
;
62
no_assign
& operator=(
no_assign
const
&) =
delete
;
63
no_assign
& operator=(
no_assign
&&) =
delete
;
65
};
66
68
struct
no_copy
:
no_copy_init
,
no_assign
69
{
70
no_copy
() =
default
;
71
};
72
73
#endif //EOF
no_assign
A utility class to prevent assignment of containing class.
Definition:
prohibit.h:56
no_copy
A utility class to prevent copying of containing class.
Definition:
prohibit.h:68
no_copy_init
A utility class to prevent copy construction of containing class.
Definition:
prohibit.h:46
src
prohibit.h
Generated on Tue Sep 16 2014 08:56:19 for coan by
1.8.6