ie_no_copy.hpp
Go to the documentation of this file.
1 // Copyright (C) 2018-2020 Intel Corporation
2 // SPDX-License-Identifier: Apache-2.0
3 //
4 
5 /**
6  * @brief header file for no_copy class
7  *
8  * @file ie_no_copy.hpp
9  */
10 #pragma once
11 
12 namespace InferenceEngine {
13 namespace details {
14 /**
15  * @brief This class is used for objects returned from the shared library factory to prevent copying
16  */
17 class no_copy {
18 protected:
19  /**
20  * @brief A default constructor
21  */
22  no_copy() = default;
23 
24  /**
25  * @brief A default destructor
26  */
27  virtual ~no_copy() = default;
28 
29  /**
30  * @brief A removed copy constructor
31  */
32  no_copy(no_copy const&) = delete;
33 
34  /**
35  * @brief A removed assign operator
36  */
37  no_copy& operator=(no_copy const&) = delete;
38 
39  /**
40  * @brief A removed move constructor
41  */
42  no_copy(no_copy&&) = delete;
43 
44  /**
45  * @brief A removed move operator
46  */
47  no_copy& operator=(no_copy&&) = delete;
48 };
49 } // namespace details
50 } // namespace InferenceEngine
Definition: cldnn_config.hpp:16