/
githubmr
/
facebook-react-native
Обзор
Документация
Войти
/
githubmr
/
facebook-react-native
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
main
packages/react-native/React/Base/RCTManagedPointer.h
38 строк
816 B
Christoph Purrer
Use C++17 namespace format everywhere (#36987)
21 апр 2023, 00:19
21 апр 2023, 00:19
65f5cd7
Код
Авторство
О чём код?
/* * Copyright (c) Meta Platforms, Inc. and affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ #ifdef __cplusplus #include <memory> #import <Foundation/Foundation.h> /** * Type erased wrapper over any cxx value that can be passed as an argument * to native method. */ @interface RCTManagedPointer : NSObject @property (nonatomic, readonly) void *voidPointer; - (instancetype)initWithPointer:(std::shared_ptr<void>)pointer; @end namespace facebook::react { template <typename T, typename P> RCTManagedPointer *managedPointer(P initializer) { auto ptr = std::shared_ptr<void>(new T(initializer)); return [[RCTManagedPointer alloc] initWithPointer:std::move(ptr)]; } } // namespace facebook::react #endif