|  | /* | 
|  | * Copyright 2019 Google LLC | 
|  | * | 
|  | * Use of this source code is governed by a BSD-style license that can be | 
|  | * found in the LICENSE file. | 
|  | */ | 
|  |  | 
|  | #ifndef SkAutoreleasePool_DEFINED | 
|  | #define SkAutoreleasePool_DEFINED | 
|  |  | 
|  | /* | 
|  | * Helper class for managing an autorelease pool for Metal. On other platforms this will | 
|  | * do nothing so there's no need to #ifdef it out. | 
|  | */ | 
|  | #ifdef SK_METAL | 
|  | class AutoreleasePool { | 
|  | public: | 
|  | AutoreleasePool(); | 
|  | ~AutoreleasePool(); | 
|  |  | 
|  | void drain(); | 
|  |  | 
|  | private: | 
|  | void* fPool; | 
|  | }; | 
|  | #else | 
|  | class AutoreleasePool { | 
|  | public: | 
|  | AutoreleasePool() {} | 
|  | ~AutoreleasePool() = default; | 
|  |  | 
|  | void drain() {} | 
|  | }; | 
|  | #endif | 
|  |  | 
|  | #endif |