8#include <Foundation/Foundation.h>
17 : objCInstance(object)
19 if (objCInstance && policy == RetainPolicy::doInitialRetain)
20 objCInstance = [getAs<NSObject>() retain];
25 if ((objCInstance = other.getAs<NSObject>()))
26 objCInstance = [other.getAs<NSObject>() retain];
31 std::swap(objCInstance, other.objCInstance);
36 [getAs<NSObject>() release];
42 [getAs<NSObject>() release];
43 objCInstance = [other.getAs<NSObject>() retain];
58 void *released = objCInstance;
59 objCInstance =
nullptr;
66 [getAs<NSObject>() release];
67 objCInstance =
nullptr;
72 [getAs<NSObject>() release];
75 if (objCInstance && policy == RetainPolicy::doInitialRetain)
76 objCInstance = [getAs<NSObject>() retain];
StrongReference & operator=(StrongReference &&other) noexcept
StrongReference & operator=(const StrongReference &other) noexcept
StrongReference(void *object, RetainPolicy policy)
void reset(void *newInstance, RetainPolicy policy)
StrongReference(StrongReference &&other)
void swap(StrongReference &other) noexcept
StrongReference(const StrongReference &other)
Combined button and popup list for selecting options.