diff options
Diffstat (limited to 'chromium/third_party/skia/src/core/SkTemplatesPriv.h')
-rw-r--r-- | chromium/third_party/skia/src/core/SkTemplatesPriv.h | 76 |
1 files changed, 0 insertions, 76 deletions
diff --git a/chromium/third_party/skia/src/core/SkTemplatesPriv.h b/chromium/third_party/skia/src/core/SkTemplatesPriv.h deleted file mode 100644 index 79ae6093358..00000000000 --- a/chromium/third_party/skia/src/core/SkTemplatesPriv.h +++ /dev/null @@ -1,76 +0,0 @@ - -/* - * Copyright 2006 The Android Open Source Project - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - - -#ifndef SkTemplatesPriv_DEFINED -#define SkTemplatesPriv_DEFINED - -#include "SkTemplates.h" - -//////////////////////////////////////////////////////////////////////////////// - -#ifdef SK_BUILD_FOR_WIN32 - #define SK_PLACEMENT_NEW(result, classname, storage, storageSize) \ - result = SkNEW(classname) - - #define SK_PLACEMENT_NEW_ARGS(result, classname, storage, storageSize, args) \ - result = SkNEW_ARGS(classname, args) -#else - #include <new> - #define SK_PLACEMENT_NEW(result, classname, storage, storagesize) \ - do { \ - if (storagesize) \ - { \ - SkASSERT(storageSize >= sizeof(classname)); \ - result = new(storage) classname; \ - } \ - else \ - result = SkNEW(classname); \ - } while (0) - - #define SK_PLACEMENT_NEW_ARGS(result, classname, storage, storagesize, args) \ - do { \ - if (storagesize) \ - { \ - SkASSERT(storageSize >= sizeof(classname)); \ - result = new(storage) classname args; \ - } \ - else \ - result = SkNEW_ARGS(classname, args); \ - } while (0) -#endif - -//////////////////////////////////////////////////////////////////////////////// - -template <class T> class SkAutoTPlacementDelete { -public: - SkAutoTPlacementDelete(T* obj, void* storage) : fObj(obj), fStorage(storage) - { - } - ~SkAutoTPlacementDelete() - { - if (fObj) - { - if (fObj == fStorage) - fObj->~T(); - else - delete fObj; - } - } - T* detach() - { - T* obj = fObj; - fObj = NULL; - return obj; - } -private: - T* fObj; - void* fStorage; -}; - -#endif |