1cb93a386Sopenharmony_ci/* 2cb93a386Sopenharmony_ci * Copyright 2006 The Android Open Source Project 3cb93a386Sopenharmony_ci * 4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be 5cb93a386Sopenharmony_ci * found in the LICENSE file. 6cb93a386Sopenharmony_ci */ 7cb93a386Sopenharmony_ci 8cb93a386Sopenharmony_ci#ifndef SkNoncopyable_DEFINED 9cb93a386Sopenharmony_ci#define SkNoncopyable_DEFINED 10cb93a386Sopenharmony_ci 11cb93a386Sopenharmony_ci#include "include/core/SkTypes.h" 12cb93a386Sopenharmony_ci 13cb93a386Sopenharmony_ci/** \class SkNoncopyable 14cb93a386Sopenharmony_ci 15cb93a386Sopenharmony_ci SkNoncopyable is the base class for objects that do not want to 16cb93a386Sopenharmony_ci be copied. It hides its copy-constructor and its assignment-operator. 17cb93a386Sopenharmony_ci*/ 18cb93a386Sopenharmony_ciclass SK_API SkNoncopyable { 19cb93a386Sopenharmony_cipublic: 20cb93a386Sopenharmony_ci SkNoncopyable() = default; 21cb93a386Sopenharmony_ci 22cb93a386Sopenharmony_ci SkNoncopyable(SkNoncopyable&&) = default; 23cb93a386Sopenharmony_ci SkNoncopyable& operator =(SkNoncopyable&&) = default; 24cb93a386Sopenharmony_ci 25cb93a386Sopenharmony_ciprivate: 26cb93a386Sopenharmony_ci SkNoncopyable(const SkNoncopyable&) = delete; 27cb93a386Sopenharmony_ci SkNoncopyable& operator=(const SkNoncopyable&) = delete; 28cb93a386Sopenharmony_ci}; 29cb93a386Sopenharmony_ci 30cb93a386Sopenharmony_ci#endif 31