1 /*
2  * Copyright (C) 2019-2020 Intel Corporation
3  *
4  * SPDX-License-Identifier: MIT
5  *
6  */
7 
8 #pragma once
9 namespace NEO {
10 class NonCopyableOrMovableClass {
11   public:
12     NonCopyableOrMovableClass() = default;
13     NonCopyableOrMovableClass(const NonCopyableOrMovableClass &) = delete;
14     NonCopyableOrMovableClass &operator=(const NonCopyableOrMovableClass &) = delete;
15 
16     NonCopyableOrMovableClass(NonCopyableOrMovableClass &&) = delete;
17     NonCopyableOrMovableClass &operator=(NonCopyableOrMovableClass &&) = delete;
18 };
19 
20 class NonCopyableClass {
21   public:
22     NonCopyableClass() = default;
23     NonCopyableClass(const NonCopyableClass &) = delete;
24     NonCopyableClass &operator=(const NonCopyableClass &) = delete;
25 
26     NonCopyableClass(NonCopyableClass &&) = default;
27     NonCopyableClass &operator=(NonCopyableClass &&) = default;
28 };
29 } // namespace NEO
30