1 /* 2 * Copyright 2014 Google Inc. 3 * 4 * Use of this source code is governed by a BSD-style license that can be 5 * found in the LICENSE file. 6 */ 7 #ifndef SkOpTAllocator_DEFINED 8 #define SkOpTAllocator_DEFINED 9 10 #include "SkArenaAlloc.h" 11 12 // T is SkOpAngle2, SkOpSpan2, or SkOpSegment2 13 template<typename T> 14 class SkOpTAllocator { 15 public: Allocate(SkArenaAlloc * allocator)16 static T* Allocate(SkArenaAlloc* allocator) { 17 return allocator->make<T>(); 18 } 19 AllocateArray(SkArenaAlloc * allocator,int count)20 static T* AllocateArray(SkArenaAlloc* allocator, int count) { 21 return allocator->makeArrayDefault<T>(count); 22 } 23 New(SkArenaAlloc * allocator)24 static T* New(SkArenaAlloc* allocator) { 25 return allocator->make<T>(); 26 } 27 }; 28 29 #endif 30