SSP21-CPP
ser4cpp
util
Uncopyable.h
1
/*
2
* Copyright (c) 2018, Automatak LLC
3
* All rights reserved.
4
*
5
* Redistribution and use in source and binary forms, with or without modification, are permitted provided that the
6
* following conditions are met:
7
*
8
* 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following
9
* disclaimer.
10
*
11
* 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following
12
* disclaimer in the documentation and/or other materials provided with the distribution.
13
*
14
* 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote
15
* products derived from this software without specific prior written permission.
16
*
17
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
18
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
20
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
21
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
22
* WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
23
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24
*/
25
#ifndef SER4CPP_UNCOPYABLE_H
26
#define SER4CPP_UNCOPYABLE_H
27
28
namespace
ser4cpp
29
{
30
31
/**
32
* Inherited classes will not have default copy/assignment.
33
*/
34
class
Uncopyable
35
{
36
protected
:
37
Uncopyable
() {}
//allow construction/destruction
38
~
Uncopyable
() {}
39
40
private
:
41
// prevent these functions
42
Uncopyable
(
const
Uncopyable
&) =
delete
;
43
Uncopyable
& operator=(
const
Uncopyable
&) =
delete
;
44
};
45
46
class
StaticOnly
47
{
48
private
:
49
// prevent these functions
50
StaticOnly
() =
delete
;
51
StaticOnly
(
const
StaticOnly
&) =
delete
;
52
StaticOnly
& operator=(
const
StaticOnly
&) =
delete
;
53
};
54
55
}
56
57
#endif
ser4cpp::Uncopyable
Definition:
Uncopyable.h:34
ser4cpp
ser4cpp header-only library namespace
Definition:
Buffer.h:33
ser4cpp::StaticOnly
Definition:
Uncopyable.h:46
Generated on Tue Apr 9 2019 11:41:41 for SSP21-CPP by
1.8.15