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