![]() System : Linux absol.cf 5.4.0-198-generic #218-Ubuntu SMP Fri Sep 27 20:18:53 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /usr/GNUstep/Local/Library/Headers/objc/ |
Upload File : |
#if defined(__clang__) && !defined(__OBJC_RUNTIME_INTERNAL__) #pragma clang system_header #endif #ifndef __OBJC_ARC_INCLUDED__ #define __OBJC_ARC_INCLUDED__ #ifdef __cplusplus extern "C" { #endif /** * Autoreleases the argument. Equivalent to [obj autorelease]. */ id objc_autorelease(id obj); /** * Autoreleases a return value. This is equivalent to [obj autorelease], but * may also store the object somewhere where it can be quickly removed without * the need for any message sending. */ id objc_autoreleaseReturnValue(id obj); /** * Initializes object as a weak pointer and stores value in it, or nil if value * has already begun deallocation. */ id objc_initWeak(id *object, id value); /** * Loads the object. Returns nil if the object stored at this address has * already begun deallocation. */ id objc_loadWeak(id* object); /** * Loads a weak value and retains it. */ id objc_loadWeakRetained(id* obj); /** * Retains the argument. Equivalent to [obj retain]. */ id objc_retain(id obj); /** * Retains the argument, assuming that the argument is a normal object and has * its reference count managed by the runtime. * This is intended to implement `-retain` in ARC-compatible root classes. */ id objc_retain_fast_np(id obj) OBJC_NONPORTABLE; /** * Retains and autoreleases an object. Equivalent to [[obj retain] autorelease]. */ id objc_retainAutorelease(id obj); /** * Retains and releases a return value. Equivalent to * objc_retain(objc_autoreleaseReturnValue(obj)). */ id objc_retainAutoreleaseReturnValue(id obj); /** * Retains a return value that has previously been autoreleased and returned. * This is equivalent to objc_retainAutoreleaseReturnValue(), but may support a * fast path, skipping the autorelease pool entirely. */ id objc_retainAutoreleasedReturnValue(id obj); /** * Retains a block. */ id objc_retainBlock(id b); /** * Stores value in addr. This first retains value, then releases the old value * at addr, and stores the retained value in the address. */ id objc_storeStrong(id *addr, id value); /** * Stores obj in zeroing weak pointer addr. If obj has begun deallocation, * then this stores nil. */ id objc_storeWeak(id *addr, id obj); /** * Allocates an autorelease pool and pushes it onto the top of the autorelease * pool stack. Note that the returned autorelease pool is not required to be * an object. */ void *objc_autoreleasePoolPush(void); /** * Pops the specified autorelease pool from the stack, sending release messages * to every object that has been autreleased since the pool was created. */ void objc_autoreleasePoolPop(void *pool); /** * Initializes dest as a weak pointer and stores the value stored in src into * it. */ void objc_copyWeak(id *dest, id *src); /** * Destroys addr as a weak pointer. */ void objc_destroyWeak(id* addr); /** * Equivalent to objc_copyWeak(), but may also set src to nil. */ void objc_moveWeak(id *dest, id *src); /** * Releases the argument, assuming that the argument is a normal object and has * its reference count managed by the runtime. If the retain count reaches * zero then all weak references will be zeroed and the object will be * destroyed. * * This is intended to implement `-release` in ARC-compatible root * classes. */ void objc_release_fast_np(id obj) OBJC_NONPORTABLE; /** * Releases the argument, assuming that the argument is a normal object and has * its reference count managed by the runtime. If the retain count reaches * zero then all weak references will be zeroed but the object will *NOT* be * destroyed. * * This is intended to implement `NSDecrementExtraRefCountWasZero` for use with * ARC-compatible classes. */ BOOL objc_release_fast_no_destroy_np(id obj) OBJC_NONPORTABLE; /** * Returns the retain count of an object. */ size_t object_getRetainCount_np(id obj) OBJC_NONPORTABLE; /** * Releases an object. Equivalent to [obj release]. */ void objc_release(id obj); /** * Mark the object as about to begin deallocation. All subsequent reads of * weak pointers will return 0. This function should be called in -release, * before calling [self dealloc]. * * This will return `YES` if the weak references were deleted, `NO` otherwise. * * Nonstandard extension. */ BOOL objc_delete_weak_refs(id obj); /** * Returns the total number of objects in the ARC-managed autorelease pool. */ unsigned long objc_arc_autorelease_count_np(void); /** * Returns the total number of times that an object has been autoreleased in * this thread. */ unsigned long objc_arc_autorelease_count_for_object_np(id); #ifdef __cplusplus } #endif #endif // __OBJC_ARC_INCLUDED__