Imt.Base C++ API V4.1.1.0
Loading...
Searching...
No Matches
Noncopyable.h
Go to the documentation of this file.
1
2// (c) IMT - Information Management Technology AG, CH-9470 Buchs, www.imt.ch.
3//
4// ActiveParts (AP) and the corresponding Data Flow Framework (DFF) is invented and designed by Jakob Daescher.
5// ANY USE OF THIS CODE CONSTITUTES ACCEPTANCE OF THE TERMS OF THE COPYRIGHT NOTICE.
6// ===================================================================================================
7// COPYRIGHT NOTICE
8// ===================================================================================================
9// Copyright (C) 2005-2075, IMT Information Management Technology AG, 9470 Buchs, Switzerland
10// All rights reserved.
11// This code is proprietary software of IMT Information Management Technology AG (hereinafter: "IMT").
12// Proprietary software is computer software licensed under exclusive legal right of IMT.
13//
14// The licensee is given the irrevocable, perpetual, worldwide, non-exclusive right and license to use,
15// execute and reproduce the software in binary form within the licensed products.
16//
17// Redistribution and use in source forms, without modification, are permitted provided that the following conditions are met:
18// (1) Copying of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
19// (2) Copying of source code is only allowed for regulatory documentation and archiving purposes
20// (3) Redistributions in binary form must reproduce the above copyright notice,
21// this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
22//
23// IMT provide no reassurances that the source code provided does not infringe
24// any patent, copyright, or any other intellectual property rights of third parties.
25// IMT disclaim any liability to any recipient for claims brought against
26// recipient by any third party for infringement of that parties intellectual property rights.
27//
28// THIS SOFTWARE IS PROVIDED BY IMT AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
29// INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
30// IN NO EVENT SHALL IMT OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,
31// OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCURE-MENT OF SUBSTITUTE GOODS OR SERVICES;
32// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
33// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
34// IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
35// ===================================================================================================
36
37#ifndef IMT_BASE_CORE_PLATFORM_NONCOPYABLE_H
38#define IMT_BASE_CORE_PLATFORM_NONCOPYABLE_H
39
40namespace imt {
41namespace base {
42namespace core {
43namespace platform {
44
52
53protected:
54
55 Noncopyable() noexcept = default;
56 Noncopyable(Noncopyable const& other) noexcept = delete;
57 Noncopyable(Noncopyable&& other) noexcept = default;
58 ~Noncopyable() noexcept = default;
59 Noncopyable& operator=(Noncopyable const& other) & noexcept = delete;
60 Noncopyable& operator=(Noncopyable&& other) & noexcept = default;
61};
62
63} // namespace platform
64} // namespace core
65} // namespace base
66} // namespace imt
67
68#endif // IMT_BASE_CORE_PLATFORM_NONCOPYABLE_H
Base class for a non copyable class that disables copy and assignment of instances.
Definition Noncopyable.h:51
This is a application specific file which is used to configure Imt.Base.Core.Math.