/* * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #import NS_ASSUME_NONNULL_BEGIN /** * RCTBlockGuard is designed to be used with obj-c blocks to assist with manual deallocation of C++ resources * tied to lifetime of a block. If C++ resources needs to be manually released at the end of block or when the block * is deallocated, place the clean up code inside constructor and make sure the instace of the class is references in * the block. */ @interface RCTBlockGuard : NSObject - (instancetype)initWithCleanup:(void (^)(void))cleanup; @end NS_ASSUME_NONNULL_END