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