![]() 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/share/doc/gnustep-base-doc/Base/Reference/ |
Upload File : |
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> <title>Functions</title> </head> <body> <font face="serif"> <a href="Base.html">Up</a> <br /> <h1><a name="title$Functions">Functions</a></h1> <h3>Authors</h3> <dl> <dt>Richard Frith-Macdonald</dt> <dd> </dd> </dl> <p><b>Copyright:</b> (C) 2005 Free Software Foundation, Inc.</p> <div> <hr width="50%" align="left" /> <h3>Contents -</h3> <ol> <li> <a href="#001000000000">Function index</a> </li> <li> <a href="#002000000000">Macro index</a> </li> <li> <a href="#003000000000">NSBundle macros</a> </li> <li> <a href="#004000000000">NSDecimal macros</a> </li> <li> <a href="#005000000000">NSException macros</a> </li> <li> <a href="#006000000000">NSInvocation macros</a> </li> <li> <a href="#007000000000">NSObjCRuntime macros</a> </li> <li> <a href="#008000000000">NSDebug functions</a> </li> <li> <a href="#009000000000">NSDecimal functions</a> </li> <li> <a href="#010000000000">NSException functions</a> </li> <li> <a href="#011000000000">NSGeometry functions</a> </li> <li> <a href="#012000000000">NSHashTable functions</a> </li> <li> <a href="#013000000000">NSLock functions</a> </li> <li> <a href="#014000000000">NSMapTable functions</a> </li> <li> <a href="#015000000000">NSObjCRuntime functions</a> </li> <li> <a href="#016000000000">NSObject functions</a> </li> <li> <a href="#017000000000">NSPathUtilities functions</a> </li> <li> <a href="#018000000000">NSProcessInfo functions</a> </li> <li> <a href="#019000000000">NSRange functions</a> </li> <li> <a href="#020000000000">NSSet functions</a> </li> <li> <a href="#021000000000">NSThread functions</a> </li> <li> <a href="#022000000000">NSZone functions</a> </li> </ol> <hr width="50%" align="left" /> <h1><a name="001000000000">Function index</a></h1> <b>Function</b> <ul> <li><a rel="gsdoc" href="Functions.html#function$GNUstepConfig">GNUstepConfig</a></li> <li><a rel="gsdoc" href="Functions.html#function$GNUstepUserConfig">GNUstepUserConfig</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSAssignZeroingWeakPointer">GSAssignZeroingWeakPointer</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationActive">GSDebugAllocationActive</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationActiveRecordingObjects">GSDebugAllocationActiveRecordingObjects</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationAdd">GSDebugAllocationAdd</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationClassList">GSDebugAllocationClassList</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationCount">GSDebugAllocationCount</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationList">GSDebugAllocationList</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationListAll">GSDebugAllocationListAll</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationListRecordedObjects">GSDebugAllocationListRecordedObjects</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationPeak">GSDebugAllocationPeak</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationRecordObjects">GSDebugAllocationRecordObjects</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationRemove">GSDebugAllocationRemove</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationTagRecordedObject">GSDebugAllocationTagRecordedObject</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugAllocationTotal">GSDebugAllocationTotal</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDebugSet">GSDebugSet</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSDefaultsRootForUser">GSDefaultsRootForUser</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSInitializeProcess">GSInitializeProcess</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSLogLock">GSLogLock</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSMakeWeakPointer">GSMakeWeakPointer</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSOutOfMemory">GSOutOfMemory</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSRegisterCurrentThread">GSRegisterCurrentThread</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSSetDebugAllocationFunctions">GSSetDebugAllocationFunctions</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSSetUserName">GSSetUserName</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSUPurge">GSUPurge</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSUSet">GSUSet</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSUnique">GSUnique</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSUniquing">GSUniquing</a></li> <li><a rel="gsdoc" href="Functions.html#function$GSUnregisterCurrentThread">GSUnregisterCurrentThread</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSAllHashTableObjects">NSAllHashTableObjects</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSAllMapTableKeys">NSAllMapTableKeys</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSAllMapTableValues">NSAllMapTableValues</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSAllocateCollectable">NSAllocateCollectable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSAllocateMemoryPages">NSAllocateMemoryPages</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSAllocateObject">NSAllocateObject</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSClassFromString">NSClassFromString</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCompareHashTables">NSCompareHashTables</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCompareMapTables">NSCompareMapTables</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSContainsRect">NSContainsRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCopyHashTableWithZone">NSCopyHashTableWithZone</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCopyMapTableWithZone">NSCopyMapTableWithZone</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCopyMemoryPages">NSCopyMemoryPages</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCopyObject">NSCopyObject</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCountFrames">NSCountFrames</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCountHashTable">NSCountHashTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCountMapTable">NSCountMapTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCreateHashTable">NSCreateHashTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCreateHashTableWithZone">NSCreateHashTableWithZone</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCreateMapTable">NSCreateMapTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCreateMapTableWithZone">NSCreateMapTableWithZone</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSCreateZone">NSCreateZone</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDeallocateMemoryPages">NSDeallocateMemoryPages</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDeallocateObject">NSDeallocateObject</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalAdd">NSDecimalAdd</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalCompact">NSDecimalCompact</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalCompare">NSDecimalCompare</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalCopy">NSDecimalCopy</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalDivide">NSDecimalDivide</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalDouble">NSDecimalDouble</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalFromComponents">NSDecimalFromComponents</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalFromString">NSDecimalFromString</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalIsNotANumber">NSDecimalIsNotANumber</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalMax">NSDecimalMax</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalMin">NSDecimalMin</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalMultiply">NSDecimalMultiply</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalMultiplyByPowerOf10">NSDecimalMultiplyByPowerOf10</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalNormalize">NSDecimalNormalize</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalPower">NSDecimalPower</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalRound">NSDecimalRound</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalString">NSDecimalString</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecimalSubtract">NSDecimalSubtract</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDecrementExtraRefCountWasZero">NSDecrementExtraRefCountWasZero</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDefaultMallocZone">NSDefaultMallocZone</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSDivideRect">NSDivideRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSEdgeInsetsEqual">NSEdgeInsetsEqual</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSEdgeInsetsMake">NSEdgeInsetsMake</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSEndHashTableEnumeration">NSEndHashTableEnumeration</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSEndMapTableEnumeration">NSEndMapTableEnumeration</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSEnumerateHashTable">NSEnumerateHashTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSEnumerateMapTable">NSEnumerateMapTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSEqualPoints">NSEqualPoints</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSEqualRanges">NSEqualRanges</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSEqualRects">NSEqualRects</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSEqualSizes">NSEqualSizes</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSExtraRefCount">NSExtraRefCount</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSFrameAddress">NSFrameAddress</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSFreeHashTable">NSFreeHashTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSFreeMapTable">NSFreeMapTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSFullUserName">NSFullUserName</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSGetSizeAndAlignment">NSGetSizeAndAlignment</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSGetUncaughtExceptionHandler">NSGetUncaughtExceptionHandler</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSHashGet">NSHashGet</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSHashInsert">NSHashInsert</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSHashInsertIfAbsent">NSHashInsertIfAbsent</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSHashInsertKnownAbsent">NSHashInsertKnownAbsent</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSHashRemove">NSHashRemove</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSHeight">NSHeight</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSHomeDirectory">NSHomeDirectory</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSHomeDirectoryForUser">NSHomeDirectoryForUser</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSIncrementExtraRefCount">NSIncrementExtraRefCount</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSInsetRect">NSInsetRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSIntegralRect">NSIntegralRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSIntersectionRange">NSIntersectionRange</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSIntersectionRect">NSIntersectionRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSIntersectsRect">NSIntersectsRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSIsEmptyRect">NSIsEmptyRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSLocationInRange">NSLocationInRange</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSLock_error_handler">NSLock_error_handler</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSLog">NSLog</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSLogPageSize">NSLogPageSize</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSLog_printf_handler">NSLog_printf_handler</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSLogv">NSLogv</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMakeCollectable">NSMakeCollectable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMakePoint">NSMakePoint</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMakeRange">NSMakeRange</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMakeRect">NSMakeRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMakeSize">NSMakeSize</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMapGet">NSMapGet</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMapInsert">NSMapInsert</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMapInsertIfAbsent">NSMapInsertIfAbsent</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMapInsertKnownAbsent">NSMapInsertKnownAbsent</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMapMember">NSMapMember</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMapRemove">NSMapRemove</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMaxRange">NSMaxRange</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMaxX">NSMaxX</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMaxY">NSMaxY</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMidX">NSMidX</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMidY">NSMidY</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMinX">NSMinX</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMinY">NSMinY</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSMouseInRect">NSMouseInRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSNextHashEnumeratorItem">NSNextHashEnumeratorItem</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSNextMapEnumeratorPair">NSNextMapEnumeratorPair</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSOffsetRect">NSOffsetRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSOpenStepRootDirectory">NSOpenStepRootDirectory</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSPageSize">NSPageSize</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSPointFromString">NSPointFromString</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSPointInRect">NSPointInRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSProtocolFromString">NSProtocolFromString</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSRangeFromString">NSRangeFromString</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSRealMemoryAvailable">NSRealMemoryAvailable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSReallocateCollectable">NSReallocateCollectable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSRectFromString">NSRectFromString</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSRecycleZone">NSRecycleZone</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSResetHashTable">NSResetHashTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSResetMapTable">NSResetMapTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSReturnAddress">NSReturnAddress</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSRoundDownToMultipleOfPageSize">NSRoundDownToMultipleOfPageSize</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSRoundUpToMultipleOfPageSize">NSRoundUpToMultipleOfPageSize</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSSearchPathForDirectoriesInDomains">NSSearchPathForDirectoriesInDomains</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSSelectorFromString">NSSelectorFromString</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSSetUncaughtExceptionHandler">NSSetUncaughtExceptionHandler</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSSetZoneName">NSSetZoneName</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSShouldRetainWithZone">NSShouldRetainWithZone</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSSizeFromString">NSSizeFromString</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSStandardApplicationPaths">NSStandardApplicationPaths</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSStandardLibraryPaths">NSStandardLibraryPaths</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSStringFromClass">NSStringFromClass</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSStringFromHashTable">NSStringFromHashTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSStringFromMapTable">NSStringFromMapTable</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSStringFromPoint">NSStringFromPoint</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSStringFromProtocol">NSStringFromProtocol</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSStringFromRange">NSStringFromRange</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSStringFromRect">NSStringFromRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSStringFromSelector">NSStringFromSelector</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSStringFromSize">NSStringFromSize</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSTemporaryDirectory">NSTemporaryDirectory</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSUncaughtExceptionHandler">NSUncaughtExceptionHandler</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSUnionRange">NSUnionRange</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSUnionRect">NSUnionRect</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSUserName">NSUserName</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSWidth">NSWidth</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSZoneCalloc">NSZoneCalloc</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSZoneCheck">NSZoneCheck</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSZoneFree">NSZoneFree</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSZoneFromPointer">NSZoneFromPointer</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSZoneMalloc">NSZoneMalloc</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSZoneName">NSZoneName</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSZoneRealloc">NSZoneRealloc</a></li> <li><a rel="gsdoc" href="Functions.html#function$NSZoneStats">NSZoneStats</a></li> <li><a rel="gsdoc" href="Functions.html#function$_NSAddHandler">_NSAddHandler</a></li> <li><a rel="gsdoc" href="Functions.html#function$_NSRangeExceptionRaise">_NSRangeExceptionRaise</a></li> <li><a rel="gsdoc" href="Functions.html#function$_NSRemoveHandler">_NSRemoveHandler</a></li> </ul> <h1><a name="002000000000">Macro index</a></h1> <b>Macro</b> <ul> <li><a rel="gsdoc" href="Functions.html#macro$FOUNDATION_EXPORT">FOUNDATION_EXPORT</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSAssert">NSAssert</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSAssert1">NSAssert1</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSAssert2">NSAssert2</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSAssert3">NSAssert3</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSAssert4">NSAssert4</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSAssert5">NSAssert5</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSCAssert">NSCAssert</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSCAssert1">NSCAssert1</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSCAssert2">NSCAssert2</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSCAssert3">NSCAssert3</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSCAssert4">NSCAssert4</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSCAssert5">NSCAssert5</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSCParameterAssert">NSCParameterAssert</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSDecimalMaxSize">NSDecimalMaxSize</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSLocalizedString">NSLocalizedString</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSLocalizedStringFromTable">NSLocalizedStringFromTable</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSLocalizedStringFromTableInBundle">NSLocalizedStringFromTableInBundle</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NSParameterAssert">NSParameterAssert</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NS_CLASS_AVAILABLE">NS_CLASS_AVAILABLE</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NS_INVOCATION">NS_INVOCATION</a></li> <li><a rel="gsdoc" href="Functions.html#macro$NS_MESSAGE">NS_MESSAGE</a></li> </ul> </div> <h1><a name="003000000000">NSBundle macros</a></h1> <p> </p> <h3><a name="macro$NSLocalizedString">NSLocalizedString</a></h3> NSLocalizedString(<b>key</b>, <b>comment</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> </p> <p> This function (macro) is used to get the localized translation of the string <code><var>key</var></code>. <code><var>key</var></code> is looked up in the <code>Localizable.strings</code> file for the current language. The current language is determined by the available languages in which the application is translated, and by using the <code>NSLanguages</code> user defaults (which should contain an array of the languages preferred by the user, in order of preference). </p> <p> </p> <p> Technically, the function works by calling <code>localizedStringForKey:value:table:</code> on the main bundle, using <code>@""</code> as value, and <code>nil</code> as the table. The <code><var>comment</var></code> is ignored when the macro is expanded; but when we have tools which can generate the <code>Localizable.strings</code> files automatically from source code, the <code><var>comment</var></code> will be used by the tools and added as a <var>comment</var> before the string to translate. Upon finding something like </p> <p> </p> <p> <code> NSLocalizedString (@"My useful string", @"My useful <var>comment</var> about the string"); </code> </p> <p> </p> <p> in the source code, the tools will generate a <var>comment</var> and the line </p> <p> </p> <p> <code> " My useful string" = "My useful string"; </code> </p> <p> </p> <p> in the <code>Localizable.strings</code> file (the translator then can use this as a skeleton for the <code>Localizable.strings</code> for his/her own language, where she/he can replace the right hand side with the translation in her/his own language). The <var>comment</var> can help the translator to decide how to translate when it is not clear how to translate (because the original string is now out of context, and out of context might not be so clear what the string means). The <var>comment</var> is totally ignored by the library code. </p> <p> </p> <p> If you don't have a <var>comment</var> (because the string is so self-explanatory that it doesn't need it), you can leave it blank, by using <code>@""</code> as a <var>comment</var>. If the string might be unclear out of context, it is recommended that you add a <var>comment</var> (even if it is unused for now). </p> <p> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSLocalizedStringFromTable">NSLocalizedStringFromTable</a></h3> NSLocalizedStringFromTable(<b>key</b>, <b>tbl</b>, <b>comment</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This function (macro) does the same as <code>NSLocalizedString</code>, but uses the table <code>table</code> rather than the default table. This means that the string to translate will be looked up in a different file than <code>Localizable.strings</code>. For example, if you pass <code>DatabaseErrors</code> as the <code>table</code>, the string will be looked up for translation in the file <code>DatabaseErrors.strings</code>. This allows you to have the same string translated in different ways, by having a different translation in different tables, and choosing between the different translation by choosing a different table. </div> <hr width="25%" align="left" /> <h3><a name="macro$NSLocalizedStringFromTableInBundle">NSLocalizedStringFromTableInBundle</a></h3> NSLocalizedStringFromTableInBundle(<b>key</b>, <b>tbl</b>, <b>bundle</b>, <b>comment</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This function is the full-blown localization function (it is actually a macro). It looks up the string <code><var>key</var></code> for translation in the table <code>table</code> of the <var>bundle</var> <code><var>bundle</var></code> (please refer to the NSBundle documentation for more information on how this lookup is done). <code><var>comment</var></code> is a <var>comment</var>, which is ignored by the library (it is discarded when the macro is expanded) but which can be used by tools which parse the source code and generate strings table to provide a <var>comment</var> which the translator can use when translating the string. </div> <hr width="25%" align="left" /> <h1><a name="004000000000">NSDecimal macros</a></h1> <p> </p> <h3><a name="macro$NSDecimalMaxSize">NSDecimalMaxSize</a></h3> NSDecimalMaxSize<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Give a precision of at least 38 decimal digits requires 128 bits. </div> <hr width="25%" align="left" /> <h1><a name="005000000000">NSException macros</a></h1> <p> </p> <h3><a name="macro$NSAssert">NSAssert</a></h3> NSAssert(<b>condition</b>, <b>desc</b>, <b>args</b><b>,...</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used in an ObjC method body. <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> and <var>args</var>. </div> <hr width="25%" align="left" /> <h3><a name="macro$NSAssert1">NSAssert1</a></h3> NSAssert1(<b>condition</b>, <b>desc</b>, <b>arg1</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used in an ObjC method body (obsolete... use NSAssert). <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> and <var>arg1</var> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSAssert2">NSAssert2</a></h3> NSAssert2(<b>condition</b>, <b>desc</b>, <b>arg1</b>, <b>arg2</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used in an ObjC method body (obsolete... use NSAssert). <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> and <var>arg1</var>, <var>arg2</var> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSAssert3">NSAssert3</a></h3> NSAssert3(<b>condition</b>, <b>desc</b>, <b>arg1</b>, <b>arg2</b>, <b>arg3</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used in an ObjC method body (obsolete... use NSAssert). <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> and <var>arg1</var>, <var>arg2</var>, <var>arg3</var> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSAssert4">NSAssert4</a></h3> NSAssert4(<b>condition</b>, <b>desc</b>, <b>arg1</b>, <b>arg2</b>, <b>arg3</b>, <b>arg4</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used in an ObjC method body (obsolete... use NSAssert). <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> and <var>arg1</var>, <var>arg2</var>, <var>arg3</var>, <var>arg4</var> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSAssert5">NSAssert5</a></h3> NSAssert5(<b>condition</b>, <b>desc</b>, <b>arg1</b>, <b>arg2</b>, <b>arg3</b>, <b>arg4</b>, <b>arg5</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used in an ObjC method body (obsolete... use NSAssert). <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> and <var>arg1</var>, <var>arg2</var>, <var>arg3</var>, <var>arg4</var>, <var>arg5</var> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSCAssert">NSCAssert</a></h3> NSCAssert(<b>condition</b>, <b>desc</b>, <b>args</b><b>,...</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used in plain C code (not in an ObjC method body). <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSCAssert1">NSCAssert1</a></h3> NSCAssert1(<b>condition</b>, <b>desc</b>, <b>arg1</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Obsolete... use <a rel="gsdoc" href="#macro$NSCAssert"> NSCAssert() </a> . <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> and <var>arg1</var> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSCAssert2">NSCAssert2</a></h3> NSCAssert2(<b>condition</b>, <b>desc</b>, <b>arg1</b>, <b>arg2</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Obsolete... use <a rel="gsdoc" href="#macro$NSCAssert"> NSCAssert() </a> . <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> and <var>arg1</var>, <var>arg2</var> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSCAssert3">NSCAssert3</a></h3> NSCAssert3(<b>condition</b>, <b>desc</b>, <b>arg1</b>, <b>arg2</b>, <b>arg3</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Obsolete... use <a rel="gsdoc" href="#macro$NSCAssert"> NSCAssert() </a> . <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> and <var>arg1</var>, <var>arg2</var>, <var>arg3</var> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSCAssert4">NSCAssert4</a></h3> NSCAssert4(<b>condition</b>, <b>desc</b>, <b>arg1</b>, <b>arg2</b>, <b>arg3</b>, <b>arg4</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Obsolete... use <a rel="gsdoc" href="#macro$NSCAssert"> NSCAssert() </a> . <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> and <var>arg1</var>, <var>arg2</var>, <var>arg3</var>, <var>arg4</var> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSCAssert5">NSCAssert5</a></h3> NSCAssert5(<b>condition</b>, <b>desc</b>, <b>arg1</b>, <b>arg2</b>, <b>arg3</b>, <b>arg4</b>, <b>arg5</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Obsolete... use <a rel="gsdoc" href="#macro$NSCAssert"> NSCAssert() </a> . <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception using <var>desc</var> and <var>arg1</var>, <var>arg2</var>, <var>arg3</var>, <var>arg4</var>, <var>arg5</var> </div> <hr width="25%" align="left" /> <h3><a name="macro$NSCParameterAssert">NSCParameterAssert</a></h3> NSCParameterAssert(<b>condition</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used in plain C code (not in an ObjC method body). <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception saying that an invalid parameter was supplied to the method. </div> <hr width="25%" align="left" /> <h3><a name="macro$NSParameterAssert">NSParameterAssert</a></h3> NSParameterAssert(<b>condition</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used in an ObjC method body. <br /> See <a rel="gsdoc" href="NSException.html#class$NSAssertionHandler">NSAssertionHandler</a> for details. <br /> When <var>condition</var> is false, raise an exception saying that an invalid parameter was supplied to the method. </div> <hr width="25%" align="left" /> <h1><a name="006000000000">NSInvocation macros</a></h1> <p> </p> <h3><a name="macro$NS_INVOCATION">NS_INVOCATION</a></h3> NS_INVOCATION(<b>aClass</b>, <b>message</b><b>,...</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Creates and returns an autoreleased invocation containing a <var>message</var> to an instance of the class. The 'message' consists of selector and arguments like a standard ObjectiveC method call. <br /> Before using the returned invocation, you need to set its target. </div> <hr width="25%" align="left" /> <h3><a name="macro$NS_MESSAGE">NS_MESSAGE</a></h3> NS_MESSAGE(<b>target</b>, <b>message</b><b>,...</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Creates and returns an autoreleased invocation containing a <var>message</var> to the <var>target</var> object. The 'message' consists of selector and arguments like a standard ObjectiveC method call. </div> <hr width="25%" align="left" /> <h1><a name="007000000000">NSObjCRuntime macros</a></h1> <p> </p> <h3><a name="macro$FOUNDATION_EXPORT">FOUNDATION_EXPORT</a></h3> FOUNDATION_EXPORT<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Declare the foundation export macro as an alias to GS_EXPORT </div> <hr width="25%" align="left" /> <h3><a name="macro$NS_CLASS_AVAILABLE">NS_CLASS_AVAILABLE</a></h3> NS_CLASS_AVAILABLE<b>(...</b>)<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Declare Apple availability macros for compatibility purposes as no-ops. </div> <hr width="25%" align="left" /> <h1><a name="008000000000">NSDebug functions</a></h1> <p> </p> <h3><a name="function$GSDebugAllocationActive">GSDebugAllocationActive</a></h3> BOOL GSDebugAllocationActive(BOOL <b>active</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This function activates or deactivates object allocation debugging. <br /> Returns the previous state. <br /> You should call this function to activate allocation debugging before using any of the other allocation debugging functions such as <a rel="gsdoc" href="#function$GSDebugAllocationList"> GSDebugAllocationList() </a> or <a rel="gsdoc" href="#function$GSDebugAllocationTotal"> GSDebugAllocationTotal() </a> . <br /> Object allocation debugging should not affect performance too much, and is very useful as it allows you to monitor how many objects of each class your application has allocated. </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationActiveRecordingObjects">GSDebugAllocationActiveRecordingObjects</a></h3> void GSDebugAllocationActiveRecordingObjects(Class <b>c</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> DEPRECATED... use GSDebugAllocationRecordObjects instead. </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationAdd">GSDebugAllocationAdd</a></h3> void GSDebugAllocationAdd(Class <b>c</b>, id <b>o</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used internally by <a rel="gsdoc" href="#function$NSAllocateObject"> NSAllocateObject() </a> ... you probably don't need this. </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationClassList">GSDebugAllocationClassList</a></h3> Class* GSDebugAllocationClassList();<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This function returns a NULL terminated array listing all the classes for which statistical information has been collected. Usually, you call this function, and then loop on all the classes returned, and for each one you get current, peak and total count by using <a rel="gsdoc" href="#function$GSDebugAllocationCount"> GSDebugAllocationCount() </a> , <a rel="gsdoc" href="#function$GSDebugAllocationPeak"> GSDebugAllocationPeak() </a> and <a rel="gsdoc" href="#function$GSDebugAllocationTotal"> GSDebugAllocationTotal() </a> . </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationCount">GSDebugAllocationCount</a></h3> int GSDebugAllocationCount(Class <b>c</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> </p> <p> Returns the number of instances of the specified class which are currently allocated. This number is very important to detect memory leaks. If you notice that this number is constantly increasing without apparent reason, it is very likely a memory leak - you need to check that you are correctly releasing objects of this class, otherwise when your application runs for a <strong>long</strong> time, it will eventually allocate so many objects as to eat up all your system's memory... </p> <p> </p> <p> This function, like the ones below, returns the number of objects allocated/released from the time when <a rel="gsdoc" href="#function$GSDebugAllocationActive"> GSDebugAllocationActive() </a> was first called. A negative number means that in total, there are less objects of this class allocated now than there were when you called <a rel="gsdoc" href="#function$GSDebugAllocationActive"> GSDebugAllocationActive() </a> ; a positive one means there are more. </p> <p> </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationList">GSDebugAllocationList</a></h3> const char* GSDebugAllocationList(BOOL <b>changeFlag</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This function returns a newline separated list of the classes which have instances allocated, and the instance counts. If the 'changeFlag' argument is <code>YES</code> then the list gives the number of instances allocated/deallocated since the function was last called with that setting. This function only returns the current count of instances (not the peak or total count), but its output is ready to be displayed or logged. </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationListAll">GSDebugAllocationListAll</a></h3> const char* GSDebugAllocationListAll();<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This function returns a newline separated list of the classes which have had instances allocated at any point, and the total count of the number of instances allocated for each class. The difference with <a rel="gsdoc" href="#function$GSDebugAllocationList"> GSDebugAllocationList() </a> is that this function returns also classes which have no objects allocated at the moment, but which had in the past. </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationListRecordedObjects">GSDebugAllocationListRecordedObjects</a></h3> <a rel="gsdoc" href="NSArray.html#class$NSArray">NSArray</a>* GSDebugAllocationListRecordedObjects(Class <b>c</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This function returns an array containing all the allocated objects of a certain class which have been recorded... to start the recording, you need to invoke <a rel="gsdoc" href="#function$GSDebugAllocationRecordObjects"> GSDebugAllocationRecordObjects() </a> . Presumably, you will immediately call [NSObject -description] on them to find out the objects you are leaking. The objects are returned in an autoreleased array, so until the array is deallocated, the objects are not released. </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationPeak">GSDebugAllocationPeak</a></h3> int GSDebugAllocationPeak(Class <b>c</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the peak number of instances of the specified class which have been concurrently allocated. If this number is very high, it means at some point in time you had a situation with a huge number of objects of this class allocated - this is an indicator that probably at some point in time your application was using a lot of memory - so you might want to investigate whether you can prevent this problem by inserting autorelease pools in your application's processing loops. </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationRecordObjects">GSDebugAllocationRecordObjects</a></h3> BOOL GSDebugAllocationRecordObjects(Class <b>c</b>, BOOL <b>newState</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This function activates (or deactivates) tracking all allocated instances of the specified class <var>c</var>. <br /> Turning on tracking implicitly turns on memory debug (counts) for all classes (GSAllocationActive()). <br /> Deactivation of tracking releases all currently tracked instances of the class (but deactivation of general counting does not). <br /> The previous tracking state as reported as the return value of this function. <br /> This tracking can slow your application down, so you should use it only when you are into serious debugging. Usually, you will monitor your application by using the functions <a rel="gsdoc" href="#function$GSDebugAllocationList"> GSDebugAllocationList() </a> and similar, which do not slow things down much and return * the number of allocated instances; when (if) by studying the reports generated by these functions you have found a leak of objects of a certain class, and if you can't figure out how to fix it by looking at the code, you can use this function to start tracking allocated instances of that class, and the following one can sometime allow you to list the leaked objects directly. </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationRemove">GSDebugAllocationRemove</a></h3> void GSDebugAllocationRemove(Class <b>c</b>, id <b>o</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used internally by <a rel="gsdoc" href="#function$NSDeallocateObject"> NSDeallocateObject() </a> ... you probably don't need this. </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationTagRecordedObject">GSDebugAllocationTagRecordedObject</a></h3> id GSDebugAllocationTagRecordedObject(id <b>object</b>, id <b>tag</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This function associates the supplied <var>tag</var> with a recorded <var>object</var> and returns the <var>tag</var> which was previously associated with it (if any). <br /> If the <var>object</var> was not recorded, the method returns <code>nil</code> <br /> The <var>tag</var> is retained while it is associated with the <var>object</var>. <br /> If the tagged <var>object</var> is deallocated, the <var>tag</var> is released (so you can track the lifetime of the <var>object</var> by having the <var>tag</var> perform some operation when it is released). <br /> See also the NSDebugFRLog() and NSDebugMRLog() macros. </div> <hr width="25%" align="left" /> <h3><a name="function$GSDebugAllocationTotal">GSDebugAllocationTotal</a></h3> int GSDebugAllocationTotal(Class <b>c</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the total number of instances of the specified class <var>c</var> which have been allocated - basically the number of times you have allocated an object of this class. If this number is very high, it means you are creating a lot of objects of this class; even if you are releasing them correctly, you must not forget that allocating and deallocating objects is usually one of the slowest things you can do, so you might want to consider whether you can reduce the number of allocations and deallocations that you are doing - for example, by recycling objects of this class, uniquing them, and/or using some sort of flyweight pattern. It might also be possible that you are unnecessarily creating too many objects of this class. Well - of course some times there is nothing you can do about it. </div> <hr width="25%" align="left" /> <h3><a name="function$GSSetDebugAllocationFunctions">GSSetDebugAllocationFunctions</a></h3> void GSSetDebugAllocationFunctions(void(*) <b>newAddObjectFunc</b>, void(*) <b>newRemoveObjectFunc</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This functions allows to set own function callbacks for debugging allocation of objects. Useful if you intend to write your own object allocation code. </div> <hr width="25%" align="left" /> <h3><a name="function$NSCountFrames">NSCountFrames</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> NSCountFrames();<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Retrieve stack information. Use caution: uses built-in gcc functions and currently only works up to 100 frames. </div> <hr width="25%" align="left" /> <h3><a name="function$NSFrameAddress">NSFrameAddress</a></h3> void* NSFrameAddress(<a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>offset</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Retrieve stack information. Use caution: uses built-in gcc functions and currently only works up to 100 frames. </div> <hr width="25%" align="left" /> <h3><a name="function$NSReturnAddress">NSReturnAddress</a></h3> void* NSReturnAddress(<a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>offset</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Retrieve stack information. Use caution: uses built-in gcc functions and currently only works up to 100 frames. </div> <hr width="25%" align="left" /> <h1><a name="009000000000">NSDecimal functions</a></h1> <p> </p> <h3><a name="function$NSDecimalAdd">NSDecimalAdd</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSCalculationError">NSCalculationError</a> NSDecimalAdd(NSDecimal* <b>result</b>, const NSDecimal* <b>left</b>, const NSDecimal* <b>right</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRoundingMode">NSRoundingMode</a> <b>mode</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Adds two decimals and returns <var>result</var> to 38-digit precision. See the <a rel="gsdoc" href="NSDecimalNumber.html#protocol$(NSDecimalNumberBehaviors)"><NSDecimalNumberBehaviors></a> protocol for a description of <var>mode</var> and the return value. The <var>result</var> should be preallocated but can be the same as <var>left</var> or <var>right</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalCompact">NSDecimalCompact</a></h3> void NSDecimalCompact(NSDecimal* <b>number</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Tries to reduce memory used to store <var>number</var> internally. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalCompare">NSDecimalCompare</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSComparisonResult">NSComparisonResult</a> NSDecimalCompare(const NSDecimal* <b>leftOperand</b>, const NSDecimal* <b>rightOperand</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Returns <code>NSOrderedDescending</code>, <code>NSOrderedSame</code>, or <code>NSOrderedAscending</code> depending on whether <var>leftOperand</var> is greater than, equal to, or less than <var>rightOperand</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalCopy">NSDecimalCopy</a></h3> void NSDecimalCopy(NSDecimal* <b>destination</b>, const NSDecimal* <b>source</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Copies value of decimal number to preallocated <var>destination</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalDivide">NSDecimalDivide</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSCalculationError">NSCalculationError</a> NSDecimalDivide(NSDecimal* <b>result</b>, const NSDecimal* <b>l</b>, const NSDecimal* <b>rr</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRoundingMode">NSRoundingMode</a> <b>mode</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Divides <var>l</var> by <var>rr</var> and returns <var>result</var> to 38-digit precision. See the <a rel="gsdoc" href="NSDecimalNumber.html#protocol$(NSDecimalNumberBehaviors)"><NSDecimalNumberBehaviors></a> protocol for a description of <var>mode</var> and the return value. The <var>result</var> should be preallocated but can be the same as <var>l</var> or <var>rr</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalDouble">NSDecimalDouble</a></h3> double NSDecimalDouble(NSDecimal* <b>number</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Give back the value of a NSDecimal as a <strong>double</strong> in (preallocated) result. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalFromComponents">NSDecimalFromComponents</a></h3> void NSDecimalFromComponents(NSDecimal* <b>result</b>, unsigned long long int <b>mantissa</b>, short int <b>exponent</b>, BOOL <b>negative</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Create a NSDecimal with a <var>mantissa</var>, <var>exponent</var> and a <var>negative</var> flag in (preallocated) <var>result</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalFromString">NSDecimalFromString</a></h3> void NSDecimalFromString(NSDecimal* <b>result</b>, <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>numberValue</b>, <a rel="gsdoc" href="NSDictionary.html#class$NSDictionary">NSDictionary</a>* <b>locale</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Create a NSDecimal from a string using the <var>locale</var>, in (preallocated) <var>result</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalIsNotANumber">NSDecimalIsNotANumber</a></h3> BOOL NSDecimalIsNotANumber(const NSDecimal* <b>decimal</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Returns whether <var>decimal</var> represents an invalid number (i.e., an "NaN" as might result from an overflow or a division by zero). </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalMax">NSDecimalMax</a></h3> void NSDecimalMax(NSDecimal* <b>result</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Give back the biggest NSDecimal in (preallocated) <var>result</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalMin">NSDecimalMin</a></h3> void NSDecimalMin(NSDecimal* <b>result</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Give back the smallest NSDecimal in (preallocated) <var>result</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalMultiply">NSDecimalMultiply</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSCalculationError">NSCalculationError</a> NSDecimalMultiply(NSDecimal* <b>result</b>, const NSDecimal* <b>l</b>, const NSDecimal* <b>r</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRoundingMode">NSRoundingMode</a> <b>mode</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Multiplies two decimals and returns <var>result</var> to 38-digit precision. See the <a rel="gsdoc" href="NSDecimalNumber.html#protocol$(NSDecimalNumberBehaviors)"><NSDecimalNumberBehaviors></a> protocol for a description of <var>mode</var> and the return value. The <var>result</var> should be preallocated but can be the same as <var>l</var> or <var>r</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalMultiplyByPowerOf10">NSDecimalMultiplyByPowerOf10</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSCalculationError">NSCalculationError</a> NSDecimalMultiplyByPowerOf10(NSDecimal* <b>result</b>, const NSDecimal* <b>n</b>, short int <b>power</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRoundingMode">NSRoundingMode</a> <b>mode</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Multiplies <var>n</var> by 10^power and returns <var>result</var> to 38-digit precision. See the <a rel="gsdoc" href="NSDecimalNumber.html#protocol$(NSDecimalNumberBehaviors)"><NSDecimalNumberBehaviors></a> protocol for a description of <var>mode</var> and the return value. The <var>result</var> should be preallocated but can be the same as <var>n</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalNormalize">NSDecimalNormalize</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSCalculationError">NSCalculationError</a> NSDecimalNormalize(NSDecimal* <b>n1</b>, NSDecimal* <b>n2</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRoundingMode">NSRoundingMode</a> <b>mode</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Sets the exponents of <var>n1</var> and <var>n2</var> equal to one another, adjusting mantissas as necessary to preserve values. This makes certain operations quicker. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalPower">NSDecimalPower</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSCalculationError">NSCalculationError</a> NSDecimalPower(NSDecimal* <b>result</b>, const NSDecimal* <b>n</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>power</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRoundingMode">NSRoundingMode</a> <b>mode</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Raises <var>n</var> to <var>power</var> and returns <var>result</var> to 38-digit precision. See the <a rel="gsdoc" href="NSDecimalNumber.html#protocol$(NSDecimalNumberBehaviors)"><NSDecimalNumberBehaviors></a> protocol for a description of <var>mode</var> and the return value. The <var>result</var> should be preallocated but can be the same as <var>n</var> or <var>power</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalRound">NSDecimalRound</a></h3> void NSDecimalRound(NSDecimal* <b>result</b>, const NSDecimal* <b>number</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSInteger">NSInteger</a> <b>scale</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRoundingMode">NSRoundingMode</a> <b>mode</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Rounds <var>number</var> to <var>result</var> such that it has at most <var>scale</var> digits to the right of its decimal point, according to <var>mode</var> (see the <a rel="gsdoc" href="NSDecimalNumber.html#protocol$(NSDecimalNumberBehaviors)"><NSDecimalNumberBehaviors></a> protocol). The <var>result</var> should be preallocated but can be the same as <var>number</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalString">NSDecimalString</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSDecimalString(const NSDecimal* <b>decimal</b>, <a rel="gsdoc" href="NSDictionary.html#class$NSDictionary">NSDictionary</a>* <b>locale</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Returns a string representing the full <var>decimal</var> value, formatted according to <var>locale</var> (send <code>nil</code> here for default <var>locale</var>). </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecimalSubtract">NSDecimalSubtract</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSCalculationError">NSCalculationError</a> NSDecimalSubtract(NSDecimal* <b>result</b>, const NSDecimal* <b>left</b>, const NSDecimal* <b>right</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRoundingMode">NSRoundingMode</a> <b>mode</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Subtracts two decimals and returns <var>result</var> to 38-digit precision. See the <a rel="gsdoc" href="NSDecimalNumber.html#protocol$(NSDecimalNumberBehaviors)"><NSDecimalNumberBehaviors></a> protocol for a description of <var>mode</var> and the return value. The <var>result</var> should be preallocated but can be the same as <var>left</var> or <var>right</var>. </div> <hr width="25%" align="left" /> <h1><a name="010000000000">NSException functions</a></h1> <p> </p> <h3><a name="function$NSGetUncaughtExceptionHandler">NSGetUncaughtExceptionHandler</a></h3> NSUncaughtExceptionHandler* NSGetUncaughtExceptionHandler();<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the exception handler called when an exception is generated and not caught by the programmer (by enclosing in <code>NS_DURING</code> and <code>NS_HANDLER</code>... <code>NS_ENDHANDLER</code> ). The default prints an error message and exits the program. You can change this behavior by calling <a rel="gsdoc" href="#function$NSSetUncaughtExceptionHandler"> NSSetUncaughtExceptionHandler() </a> . </div> <hr width="25%" align="left" /> <h3><a name="function$NSSetUncaughtExceptionHandler">NSSetUncaughtExceptionHandler</a></h3> void NSSetUncaughtExceptionHandler(NSUncaughtExceptionHandler* <b>handler</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> </p> <p> Sets the exception <var>handler</var> called when an exception is generated and not caught by the programmer (by enclosing in <code>NS_DURING</code> and <code>NS_HANDLER</code> ... <code>NS_ENDHANDLER</code>). The default prints an error message and exits the program. proc should take a single argument of type <code>NSException *</code>. </p> <p> </p> <p> NB. If the exception <var>handler</var> set by this function does not terminate the process, the process will be terminateed anyway. This is a safety precaution to ensure that, in the event of an exception being raised and not handled, the program does not try to continue running in a confused state (possibly doing horrible things like billing customers who shouldn't be billed etc), but shuts down as cleanly as possible. </p> <p> </p> <p> Process termination is normally accomplished by calling the standard exit function of the C runtime library, but if the environment variable CRASH_ON_ABORT is set to <code>YES</code> or TRUE or 1 the termination will be accomplished by calling the abort function instead, which should cause a core dump to be made for debugging. </p> <p> </p> <p> The value of proc should be a pointer to a function taking an <a rel="gsdoc" href="NSException.html#class$NSException">NSException</a> instance as an argument. </p> <p> </div> <hr width="25%" align="left" /> <h3><a name="function$NSUncaughtExceptionHandler">NSUncaughtExceptionHandler</a></h3> void NSUncaughtExceptionHandler(<a rel="gsdoc" href="NSException.html#class$NSException">NSException</a>* <b>exception</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> This is the type of the <var>exception</var> handler called when an <var>exception</var> is generated and not caught by the programmer. See <a rel="gsdoc" href="#function$NSGetUncaughtExceptionHandler"> NSGetUncaughtExceptionHandler() </a> , <a rel="gsdoc" href="#function$NSSetUncaughtExceptionHandler"> NSSetUncaughtExceptionHandler() </a> . </div> <hr width="25%" align="left" /> <h3><a name="function$_NSAddHandler">_NSAddHandler</a></h3> void _NSAddHandler(NSHandler* <b>handler</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Private support routine. Do not call directly. </div> <hr width="25%" align="left" /> <h3><a name="function$_NSRemoveHandler">_NSRemoveHandler</a></h3> void _NSRemoveHandler(NSHandler* <b>handler</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Private support routine. Do not call directly. </div> <hr width="25%" align="left" /> <h1><a name="011000000000">NSGeometry functions</a></h1> <p> </p> <h3><a name="function$NSContainsRect">NSContainsRect</a></h3> BOOL NSContainsRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>bRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns 'YES' iff <var>aRect</var> totally encloses <var>bRect</var>. NOTE: For this to be the case, <var>aRect</var> cannot be empty, nor can any side of <var>bRect</var> go beyond any side of <var>aRect</var> . Note that this behavior is different than the original OpenStep behavior, where the sides of <var>bRect</var> could not touch <var>aRect</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDivideRect">NSDivideRect</a></h3> void NSDivideRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a>* <b>slice</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a>* <b>remainder</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>amount</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRectEdge">NSRectEdge</a> <b>edge</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Divides <var>aRect</var> into two rectangles (namely <var>slice</var> and <var>remainder</var>) by "cutting" aRect---parallel to, and a distance <var>amount</var> from the given <var>edge</var> of <var>aRect</var>. You may pass 0 in as either of <var>slice</var> or <var>remainder</var> to avoid obtaining either of the created rectangles. </div> <hr width="25%" align="left" /> <h3><a name="function$NSEdgeInsetsEqual">NSEdgeInsetsEqual</a></h3> BOOL NSEdgeInsetsEqual(NSEdgeInsets <b>e1</b>, NSEdgeInsets <b>e2</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> Compares two edge insets for equality. </div> <hr width="25%" align="left" /> <h3><a name="function$NSEdgeInsetsMake">NSEdgeInsetsMake</a></h3> NSEdgeInsets NSEdgeInsetsMake(<a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>top</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>left</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>bottom</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>right</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.7.0</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSEqualPoints">NSEqualPoints</a></h3> BOOL NSEqualPoints(<a rel="gsdoc" href="TypesAndConstants.html#type$NSPoint">NSPoint</a> <b>aPoint</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSPoint">NSPoint</a> <b>bPoint</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns 'YES' iff aPoint's and bPoint's x- and y-coordinates are the same. </div> <hr width="25%" align="left" /> <h3><a name="function$NSEqualRects">NSEqualRects</a></h3> BOOL NSEqualRects(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>bRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Test geometric relationships... <br /> Returns 'YES' iff aRect's and bRect's origin and size are the same. </div> <hr width="25%" align="left" /> <h3><a name="function$NSEqualSizes">NSEqualSizes</a></h3> BOOL NSEqualSizes(<a rel="gsdoc" href="TypesAndConstants.html#type$NSSize">NSSize</a> <b>aSize</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSSize">NSSize</a> <b>bSize</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns 'YES' iff aSize's and bSize's width and height are the same. </div> <hr width="25%" align="left" /> <h3><a name="function$NSHeight">NSHeight</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> NSHeight(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns aRect's height. </div> <hr width="25%" align="left" /> <h3><a name="function$NSInsetRect">NSInsetRect</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> NSInsetRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>dX</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>dY</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the rectangle obtained by moving each of aRect's horizontal sides inward by dy and each of aRect's vertical sides inward by dx. <br /> NB. For MacOS-X compatability, this is permitted to return a rectanglew with nagative width or height, strange as that seems. </div> <hr width="25%" align="left" /> <h3><a name="function$NSIntegralRect">NSIntegralRect</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> NSIntegralRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns a rectangle obtained by expanding <var>aRect</var> minimally so that all four of its defining components are integers. </div> <hr width="25%" align="left" /> <h3><a name="function$NSIntersectionRect">NSIntersectionRect</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> NSIntersectionRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>bRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the largest rectangle which lies in both <var>aRect</var> and <var>bRect</var>. If <var>aRect</var> and <var>bRect</var> have empty intersection (or, rather, intersection of measure zero, since this includes having their intersection be only a point or a line), then the empty rectangle is returned. </div> <hr width="25%" align="left" /> <h3><a name="function$NSIntersectsRect">NSIntersectsRect</a></h3> BOOL NSIntersectsRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>bRect</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Returns <code>YES</code> if <var>aRect</var> and <var>bRect</var> have non-zero intersection area (intersecting at a line or a point doesn't count). </div> <hr width="25%" align="left" /> <h3><a name="function$NSIsEmptyRect">NSIsEmptyRect</a></h3> BOOL NSIsEmptyRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns 'YES' iff the area of <var>aRect</var> is zero (i.e., iff either of aRect's width or height is negative or zero). </div> <hr width="25%" align="left" /> <h3><a name="function$NSMakePoint">NSMakePoint</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSPoint">NSPoint</a> NSMakePoint(<a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>x</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>y</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns an NSPoint having x-coordinate X and y-coordinate Y. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMakeRect">NSMakeRect</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> NSMakeRect(<a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>x</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>y</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>w</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>h</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns an NSRect having point of origin ( <var>x</var>, <var>y</var>) and size {<var>w</var>, <var>h</var>}. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMakeSize">NSMakeSize</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSSize">NSSize</a> NSMakeSize(<a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>w</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>h</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns an NSSize having width <var>w</var> and height <var>h</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMaxX">NSMaxX</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> NSMaxX(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the greatest x-coordinate value still inside <var>aRect</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMaxY">NSMaxY</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> NSMaxY(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the greatest y-coordinate value still inside <var>aRect</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMidX">NSMidX</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> NSMidX(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the x-coordinate of aRect's middle point. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMidY">NSMidY</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> NSMidY(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the y-coordinate of aRect's middle point. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMinX">NSMinX</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> NSMinX(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the least x-coordinate value still inside <var>aRect</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMinY">NSMinY</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> NSMinY(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the least y-coordinate value still inside <var>aRect</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMouseInRect">NSMouseInRect</a></h3> BOOL NSMouseInRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSPoint">NSPoint</a> <b>aPoint</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>, BOOL <b>flipped</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns 'YES' iff <var>aPoint</var> is inside <var>aRect</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSOffsetRect">NSOffsetRect</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> NSOffsetRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>dx</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> <b>dy</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the rectangle obtained by translating <var>aRect</var> horizontally by <var>dx</var> and vertically by <var>dy</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSPointFromString">NSPointFromString</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSPoint">NSPoint</a> NSPointFromString(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>string</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Parses point from <var>string</var> of form " <code>{x=a; y=b}</code> ". (0,0) returned if parsing fails. </div> <hr width="25%" align="left" /> <h3><a name="function$NSPointInRect">NSPointInRect</a></h3> BOOL NSPointInRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSPoint">NSPoint</a> <b>aPoint</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Just like 'NSMouseInRect(<var>aPoint</var>, <var>aRect</var>, <code>YES</code>)'. </div> <hr width="25%" align="left" /> <h3><a name="function$NSRectFromString">NSRectFromString</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> NSRectFromString(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>string</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Parses point from <var>string</var> of form " <code>{x=a; y=b; width=c; height=d}</code> ". Rectangle of 0 size at origin returned if parsing fails. </div> <hr width="25%" align="left" /> <h3><a name="function$NSSizeFromString">NSSizeFromString</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSSize">NSSize</a> NSSizeFromString(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>string</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Parses size from <var>string</var> of form " <code>{width=a; height=b}</code> ". Size of 0,0 returned if parsing fails. </div> <hr width="25%" align="left" /> <h3><a name="function$NSStringFromPoint">NSStringFromPoint</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSStringFromPoint(<a rel="gsdoc" href="TypesAndConstants.html#type$NSPoint">NSPoint</a> <b>aPoint</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns an NSString of the form "{x=X; y=Y}", where X and Y are the x- and y-coordinates of <var>aPoint</var>, respectively. <br /> Get a String Representation... </div> <hr width="25%" align="left" /> <h3><a name="function$NSStringFromRect">NSStringFromRect</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSStringFromRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns an NSString of the form "{x=X; y=Y; width=W; height=H}", where X, Y, W, and H are the x-coordinate, y-coordinate, width, and height of <var>aRect</var>, respectively. </div> <hr width="25%" align="left" /> <h3><a name="function$NSStringFromSize">NSStringFromSize</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSStringFromSize(<a rel="gsdoc" href="TypesAndConstants.html#type$NSSize">NSSize</a> <b>aSize</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns an NSString of the form "{width=W; height=H}", where W and H are the width and height of <var>aSize</var>, respectively. </div> <hr width="25%" align="left" /> <h3><a name="function$NSUnionRect">NSUnionRect</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> NSUnionRect(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>bRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the smallest rectangle which contains both <var>aRect</var> and <var>bRect</var> (modulo a set of measure zero). If either of <var>aRect</var> or <var>bRect</var> is an empty rectangle, then the other rectangle is returned. If both are empty, then the empty rectangle is returned. </div> <hr width="25%" align="left" /> <h3><a name="function$NSWidth">NSWidth</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$CGFloat">CGFloat</a> NSWidth(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRect">NSRect</a> <b>aRect</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns aRect's width. </div> <hr width="25%" align="left" /> <h1><a name="012000000000">NSHashTable functions</a></h1> <p> </p> <h3><a name="function$NSAllHashTableObjects">NSAllHashTableObjects</a></h3> <a rel="gsdoc" href="NSArray.html#class$NSArray">NSArray</a>* NSAllHashTableObjects(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSCompareHashTables">NSCompareHashTables</a></h3> BOOL NSCompareHashTables(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table1</b>, <a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table2</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSCopyHashTableWithZone">NSCopyHashTableWithZone</a></h3> <a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* NSCopyHashTableWithZone(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSCountHashTable">NSCountHashTable</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> NSCountHashTable(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSCreateHashTable">NSCreateHashTable</a></h3> <a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* NSCreateHashTable(NSHashTableCallBacks <b>callBacks</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>capacity</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSCreateHashTableWithZone">NSCreateHashTableWithZone</a></h3> <a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* NSCreateHashTableWithZone(NSHashTableCallBacks <b>callBacks</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>capacity</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSEndHashTableEnumeration">NSEndHashTableEnumeration</a></h3> void NSEndHashTableEnumeration(NSHashEnumerator* <b>enumerator</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSEnumerateHashTable">NSEnumerateHashTable</a></h3> NSHashEnumerator NSEnumerateHashTable(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSFreeHashTable">NSFreeHashTable</a></h3> void NSFreeHashTable(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSHashGet">NSHashGet</a></h3> void* NSHashGet(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>, const void* <b>element</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSHashInsert">NSHashInsert</a></h3> void NSHashInsert(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>, const void* <b>element</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSHashInsertIfAbsent">NSHashInsertIfAbsent</a></h3> void* NSHashInsertIfAbsent(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>, const void* <b>element</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSHashInsertKnownAbsent">NSHashInsertKnownAbsent</a></h3> void NSHashInsertKnownAbsent(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>, const void* <b>element</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSHashRemove">NSHashRemove</a></h3> void NSHashRemove(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>, const void* <b>element</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSNextHashEnumeratorItem">NSNextHashEnumeratorItem</a></h3> void* NSNextHashEnumeratorItem(NSHashEnumerator* <b>enumerator</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSResetHashTable">NSResetHashTable</a></h3> void NSResetHashTable(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSStringFromHashTable">NSStringFromHashTable</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSStringFromHashTable(<a rel="gsdoc" href="NSHashTable.html#class$NSHashTable">NSHashTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h1><a name="013000000000">NSLock functions</a></h1> <p> </p> <h3><a name="function$NSLock_error_handler">NSLock_error_handler</a></h3> void NSLock_error_handler(id <b>obj</b>, SEL <b>_cmd</b>, BOOL <b>stop</b>, <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>msg</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h1><a name="014000000000">NSMapTable functions</a></h1> <p> </p> <h3><a name="function$NSAllMapTableKeys">NSAllMapTableKeys</a></h3> <a rel="gsdoc" href="NSArray.html#class$NSArray">NSArray</a>* NSAllMapTableKeys(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSAllMapTableValues">NSAllMapTableValues</a></h3> <a rel="gsdoc" href="NSArray.html#class$NSArray">NSArray</a>* NSAllMapTableValues(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSCompareMapTables">NSCompareMapTables</a></h3> BOOL NSCompareMapTables(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table1</b>, <a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table2</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSCopyMapTableWithZone">NSCopyMapTableWithZone</a></h3> <a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* NSCopyMapTableWithZone(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSCountMapTable">NSCountMapTable</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> NSCountMapTable(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSCreateMapTable">NSCreateMapTable</a></h3> <a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* NSCreateMapTable(NSMapTableKeyCallBacks <b>keyCallBacks</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSMapTableValueCallBacks">NSMapTableValueCallBacks</a> <b>valueCallBacks</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>capacity</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSCreateMapTableWithZone">NSCreateMapTableWithZone</a></h3> <a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* NSCreateMapTableWithZone(NSMapTableKeyCallBacks <b>keyCallBacks</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSMapTableValueCallBacks">NSMapTableValueCallBacks</a> <b>valueCallBacks</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>capacity</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSEndMapTableEnumeration">NSEndMapTableEnumeration</a></h3> void NSEndMapTableEnumeration(NSMapEnumerator* <b>enumerator</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSEnumerateMapTable">NSEnumerateMapTable</a></h3> NSMapEnumerator NSEnumerateMapTable(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSFreeMapTable">NSFreeMapTable</a></h3> void NSFreeMapTable(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSMapGet">NSMapGet</a></h3> void* NSMapGet(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>, const void* <b>key</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSMapInsert">NSMapInsert</a></h3> void NSMapInsert(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>, const void* <b>key</b>, const void* <b>value</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSMapInsertIfAbsent">NSMapInsertIfAbsent</a></h3> void* NSMapInsertIfAbsent(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>, const void* <b>key</b>, const void* <b>value</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSMapInsertKnownAbsent">NSMapInsertKnownAbsent</a></h3> void NSMapInsertKnownAbsent(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>, const void* <b>key</b>, const void* <b>value</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSMapMember">NSMapMember</a></h3> BOOL NSMapMember(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>, const void* <b>key</b>, void** <b>originalKey</b>, void** <b>value</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSMapRemove">NSMapRemove</a></h3> void NSMapRemove(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>, const void* <b>key</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSNextMapEnumeratorPair">NSNextMapEnumeratorPair</a></h3> BOOL NSNextMapEnumeratorPair(NSMapEnumerator* <b>enumerator</b>, void** <b>key</b>, void** <b>value</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSResetMapTable">NSResetMapTable</a></h3> void NSResetMapTable(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSStringFromMapTable">NSStringFromMapTable</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSStringFromMapTable(<a rel="gsdoc" href="NSMapTable.html#class$NSMapTable">NSMapTable</a>* <b>table</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h1><a name="015000000000">NSObjCRuntime functions</a></h1> <p> </p> <h3><a name="function$GSLogLock">GSLogLock</a></h3> <a rel="gsdoc" href="NSLock.html#class$NSRecursiveLock">NSRecursiveLock</a>* GSLogLock();<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> Returns the lock used to protect the GNUstep <a rel="gsdoc" href="#function$NSLogv"> NSLogv() </a> implementation. Use this to protect changes to <a rel="gsdoc" href="TypesAndConstants.html#variable$_NSLogDescriptor"> _NSLogDescriptor </a> and <a rel="gsdoc" href="TypesAndConstants.html#variable$_NSLog_printf_handler"> _NSLog_printf_handler </a> </div> <hr width="25%" align="left" /> <h3><a name="function$NSClassFromString">NSClassFromString</a></h3> Class NSClassFromString(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>aClassName</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the class whose name is supplied in the <var>aClassName</var> argument, or Nil if a <code>nil</code> string is supplied. If no such class has been loaded, the function returns Nil. </div> <hr width="25%" align="left" /> <h3><a name="function$NSGetSizeAndAlignment">NSGetSizeAndAlignment</a></h3> const char* NSGetSizeAndAlignment(const char* <b>typePtr</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a>* <b>sizep</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a>* <b>alignp</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> When provided with a C string containing encoded type information, this method extracts size and alignment information for the specified type into the buffers pointed to by <var>sizep</var> and <var>alignp</var>. <br /> If either <var>sizep</var> or <var>alignp</var> is a null pointer, the corresponding data is not extracted. <br /> The function returns a pointer into the type information C string immediately after the decoded information. </div> <hr width="25%" align="left" /> <h3><a name="function$NSLog">NSLog</a></h3> void NSLog(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>format</b><b>,...</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> </p> <p> Provides the standard OpenStep logging facility. For details see the lower level <a rel="gsdoc" href="#function$NSLogv"> NSLogv() </a> function (which this function uses). </p> <p> </p> <p> GNUstep provides powerful alternatives for logging ... see NSDebugLog() , NSWarnLog() and GSPrintf() for example. We recommend the use of NSDebugLog() and its relatives for debug purposes, and GSPrintf() for general log messages, with <a rel="gsdoc" href="#function$NSLog"> NSLog() </a> being reserved for reporting possible/likely errors. GSPrintf() is declared in GSObjCRuntime.h. </p> <p> </div> <hr width="25%" align="left" /> <h3><a name="function$NSLog_printf_handler">NSLog_printf_handler</a></h3> void NSLog_printf_handler(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>message</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> OpenStep spec states that log messages go to stderr, but just in case someone wants them to go somewhere else, they can implement a function like this and assign a pointer to it to _NSLog_printf_handler. </div> <hr width="25%" align="left" /> <h3><a name="function$NSLogv">NSLogv</a></h3> void NSLogv(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>format</b>, va_list <b>args</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> The core logging function... </p> <p> The function generates a standard log entry by prepending process ID and date/time information to your message, and ensuring that a newline is present at the end of the message. </p> <p> </p> <p> In GNUstep, the GSLogThread user default may be set to <code>YES</code> in order to instruct this function to include the name (if any) of the current thread after the process ID. This can help you to track the behavior of a multi-threaded program. <br /> Also the GSLogOffset user default may be set to <code>YES</code> in order to instruct this function to include the time zone offset in the timestamp it logs (good when examining debug logs from systems running in different countries). </p> <p> </p> <p> The resulting message is then passed to a handler function to perform actual output. Locking is performed around the call to the function actually writing the message out, to ensure that logging is thread-safe. However, the actual creation of the message written is only as safe as the [NSObject -description] methods of the arguments you supply. </p> <p> </p> <p> The function to write the data is pointed to by <a rel="gsdoc" href="TypesAndConstants.html#variable$_NSLog_printf_handler"> _NSLog_printf_handler </a> </p> <p> </div> <hr width="25%" align="left" /> <h3><a name="function$NSProtocolFromString">NSProtocolFromString</a></h3> Protocol* NSProtocolFromString(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>aProtocolName</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.5.0</div> <br /> <div class="desc"> Returns the protocol whose name is supplied in the <var>aProtocolName</var> argument, or 0 if a <code>nil</code> string is supplied. </div> <hr width="25%" align="left" /> <h3><a name="function$NSSelectorFromString">NSSelectorFromString</a></h3> SEL NSSelectorFromString(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>aSelectorName</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns (creating if necessary) the selector whose name is supplied in the <var>aSelectorName</var> argument, or 0 if a <code>nil</code> string is supplied. </div> <hr width="25%" align="left" /> <h3><a name="function$NSStringFromClass">NSStringFromClass</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSStringFromClass(Class <b>aClass</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns an <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a> object containing the class name for <var>aClass</var>. If <var>aClass</var> is 0, returns <code>nil</code>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSStringFromProtocol">NSStringFromProtocol</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSStringFromProtocol(Protocol* <b>aProtocol</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.5.0</div> <br /> <div class="desc"> Returns a string object containing the name for <var>aProtocol</var>. If <var>aProtocol</var> is 0, returns <code>nil</code>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSStringFromSelector">NSStringFromSelector</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSStringFromSelector(SEL <b>aSelector</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns a string object containing the name for <var>aSelector</var>. If <var>aSelector</var> is 0, returns <code>nil</code>. </div> <hr width="25%" align="left" /> <h1><a name="016000000000">NSObject functions</a></h1> <p> </p> <h3><a name="function$NSAllocateObject">NSAllocateObject</a></h3> id NSAllocateObject(Class <b>aClass</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>extraBytes</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used to allocate memory to hold an object, and initialise the class of the object to be <var>aClass</var> etc. The allocated memory will be <var>extraBytes</var> larger than the space actually needed to hold the instance variables of the object. <br /> This function is used by the <a rel="gsdoc" href="NSObject.html#method$NSObject+allocWithZone$"> [NSObject +allocWithZone:] </a> method. </div> <hr width="25%" align="left" /> <h3><a name="function$NSCopyObject">NSCopyObject</a></h3> <a rel="gsdoc" href="NSObject.html#class$NSObject">NSObject</a>* NSCopyObject(<a rel="gsdoc" href="NSObject.html#class$NSObject">NSObject</a>* <b>anObject</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>extraBytes</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used to copy <var>anObject</var>. This makes a bitwise copy of <var>anObject</var> to memory allocated from <var>zone</var>. The allocated memory will be <var>extraBytes</var> longer than that necessary to actually store the instance variables of the copied object. <br /> </div> <hr width="25%" align="left" /> <h3><a name="function$NSDeallocateObject">NSDeallocateObject</a></h3> void NSDeallocateObject(id <b>anObject</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Used to release the memory used by an object. <br /> This function is used by the <a rel="gsdoc" href="NSObject.html#method$NSObject-dealloc"> [NSObject -dealloc] </a> method. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDecrementExtraRefCountWasZero">NSDecrementExtraRefCountWasZero</a></h3> BOOL NSDecrementExtraRefCountWasZero(id <b>anObject</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Examines the extra reference count for the object and, if non-zero decrements it, otherwise leaves it unchanged. <br /> Returns a flag to say whether the count was zero (and hence whether the extra reference count was decremented). <br /> </div> <hr width="25%" align="left" /> <h3><a name="function$NSExtraRefCount">NSExtraRefCount</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> NSExtraRefCount(id <b>anObject</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Return the extra reference count of <var>anObject</var> (a value in the range from 0 to the maximum <strong>unsigned</strong> integer value minus one). <br /> The retain count for an object is this value plus one. </div> <hr width="25%" align="left" /> <h3><a name="function$NSIncrementExtraRefCount">NSIncrementExtraRefCount</a></h3> void NSIncrementExtraRefCount(id <b>anObject</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Increments the extra reference count for <var>anObject</var>. <br /> The GNUstep version raises an exception if the reference count would be incremented to too large a value. <br /> This is used by the [NSObject -retain] method. </div> <hr width="25%" align="left" /> <h3><a name="function$NSShouldRetainWithZone">NSShouldRetainWithZone</a></h3> BOOL NSShouldRetainWithZone(<a rel="gsdoc" href="NSObject.html#class$NSObject">NSObject</a>* <b>anObject</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>requestedZone</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns a flag to indicate whether <var>anObject</var> should be retained or copied in order to make a copy in the specified zone. <br /> Basically, this tests to see if <var>anObject</var> was allocated from <var>requestedZone</var> and returns <code>YES</code> if it was. </div> <hr width="25%" align="left" /> <h1><a name="017000000000">NSPathUtilities functions</a></h1> <p> </p> <h3><a name="function$GNUstepConfig">GNUstepConfig</a></h3> <a rel="gsdoc" href="NSDictionary.html#class$NSMutableDictionary">NSMutableDictionary</a>* GNUstepConfig(<a rel="gsdoc" href="NSDictionary.html#class$NSDictionary">NSDictionary</a>* <b>newConfig</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> Returns a mutable copy of the system-wide configuration used to determine paths to locate files etc. <br /> If the <var>newConfig</var> argument is non-nil it is used to set the config overriding any other version. You should not change the config after the user defaults system has been initialised as the new config will not be picked up by the defaults system. <br /> <br /> A typical sequence of operation might be to <br /> Call the function with a <code>nil</code> argument to obtain the configuration information currently in use (usually obtained from the main GNUstep configuration file). <br /> Modify the dictionary contents. <br /> Call the function again passing back in the modified config. <br /> <br /> If you call this function with a non-nil argument before the system configuration file has been read, you will prevent the file from being read. However, you must take care doing this that creation of the config dictionary you are going to pass in to the function does not have any side-effects which would cause the config file to be read earlier. <br /> If you want to prevent the user specific config file from being read, you must set the GNUSTEP_USER_CONFIG_FILE value in the dictionary to be an empty string. </div> <hr width="25%" align="left" /> <h3><a name="function$GNUstepUserConfig">GNUstepUserConfig</a></h3> void GNUstepUserConfig(<a rel="gsdoc" href="NSDictionary.html#class$NSMutableDictionary">NSMutableDictionary</a>* <b>config</b>, <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>userName</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> The <var>config</var> dictionary passed to this function should be a system-wide <var>config</var> as provided by <a rel="gsdoc" href="#function$GNUstepConfig"> GNUstepConfig() </a> ... and this function merges in user specific configuration file information if such a file exists and is owned by the user. <br /> NB. If the GNUSTEP_USER_CONFIG_FILE value in the system-wide <var>config</var> is an empty string, no user-specifc <var>config</var> will be read. </div> <hr width="25%" align="left" /> <h3><a name="function$GSDefaultsRootForUser">GSDefaultsRootForUser</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* GSDefaultsRootForUser(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>userName</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> Returns the location of the defaults database for the specified user. This uses the same information you get from <a rel="gsdoc" href="#function$GNUstepConfig"> GNUstepConfig() </a> and <a rel="gsdoc" href="#function$GNUstepUserConfig"> GNUstepUserConfig() </a> and builds the path to the defaults database fromm it. <br /> Return the path of the defaults directory for <var>userName</var>. <br /> This examines the GNUSTEP_USER_CONFIG_FILE for the specified user, with settings in it over-riding those in the main GNUstep.conf. </div> <hr width="25%" align="left" /> <h3><a name="function$GSSetUserName">GSSetUserName</a></h3> void GSSetUserName(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>aName</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> This extension permits a change of username from that specified in the LOGNAME environment variable. Using it will almost certainly cause trouble if the process does not posses the file access privileges of the new name. This is provided primarily for use by processes that run as system-manager and need to act as particular users. It uses the [NSUserDefaults +resetUserDefaults] extension to reset the defaults system to use the defaults belonging to the new user. </div> <hr width="25%" align="left" /> <h3><a name="function$NSFullUserName">NSFullUserName</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSFullUserName();<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Returns the full username of the current user. If unable to determine this, returns the standard user name. </div> <hr width="25%" align="left" /> <h3><a name="function$NSHomeDirectory">NSHomeDirectory</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSHomeDirectory();<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Return the caller's home directory as an NSString object. Calls <a rel="gsdoc" href="#function$NSHomeDirectoryForUser"> NSHomeDirectoryForUser() </a> to do this. </div> <hr width="25%" align="left" /> <h3><a name="function$NSHomeDirectoryForUser">NSHomeDirectoryForUser</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSHomeDirectoryForUser(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>loginName</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns loginName's home directory as an NSString object. <br /> On most systems this returns the directory specified in the system's password file (ar at least whatever is returned by the standard operating system API for retrieving password file records), but on ms-windows this is determined by examining the HOMEPATH and HOMEDRIVE environment variables or (if those don't make sense) the USERPROFILE environment variable. </div> <hr width="25%" align="left" /> <h3><a name="function$NSOpenStepRootDirectory">NSOpenStepRootDirectory</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSOpenStepRootDirectory();<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Returns the location of the <em>root</em> directory of the file hierarchy. This lets you build paths in a system independent manner (for instance the root on unix is '/' but on windows it is 'C:\') by appending path components to the root. <br /> Don't assume that /System, /Network etc exist in this path (generally they don't)! Use other path utility functions such as <a rel="gsdoc" href="#function$NSSearchPathForDirectoriesInDomains">NSSearchPathForDirectoriesInDomains()</a> to find standard locations for libraries, applications etc. <br /> Refer to the GNUstep File System Hierarchy documentation for more info. </div> <hr width="25%" align="left" /> <h3><a name="function$NSSearchPathForDirectoriesInDomains">NSSearchPathForDirectoriesInDomains</a></h3> <a rel="gsdoc" href="NSArray.html#class$NSArray">NSArray</a>* NSSearchPathForDirectoriesInDomains(<a rel="gsdoc" href="TypesAndConstants.html#type$NSSearchPathDirectory">NSSearchPathDirectory</a> <b>directoryKey</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSSearchPathDomainMask">NSSearchPathDomainMask</a> <b>domainMask</b>, BOOL <b>expandTilde</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Returns an array of search paths to look at for resources. <br /> The paths are returned in domain order: USER, LOCAL, NETWORK then SYSTEM. <br /> The presence of a path in this list does <em>not</em> mean that the path actually exists in the filesystem. <br /> If you are wanting to locate an existing resource, you should normally call this function with NSAllDomainsMask, but if you wish to find the path in which you should create a new file, you would generally specify a particular domain, and then create the path in the file system if it does not already exist. </div> <hr width="25%" align="left" /> <h3><a name="function$NSStandardApplicationPaths">NSStandardApplicationPaths</a></h3> <a rel="gsdoc" href="NSArray.html#class$NSArray">NSArray</a>* NSStandardApplicationPaths();<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Returns the standard paths in which applications are stored and should be searched for. Calls <a rel="gsdoc" href="#function$NSSearchPathForDirectoriesInDomains">NSSearchPathForDirectoriesInDomains()</a> <br /> Refer to the GNUstep File System Hierarchy documentation for more info. </div> <hr width="25%" align="left" /> <h3><a name="function$NSStandardLibraryPaths">NSStandardLibraryPaths</a></h3> <a rel="gsdoc" href="NSArray.html#class$NSArray">NSArray</a>* NSStandardLibraryPaths();<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Returns the standard paths in which resources are stored and should be searched for. Calls <a rel="gsdoc" href="#function$NSSearchPathForDirectoriesInDomains">NSSearchPathForDirectoriesInDomains()</a> <br /> Refer to the GNUstep File System Hierarchy documentation for more info. </div> <hr width="25%" align="left" /> <h3><a name="function$NSTemporaryDirectory">NSTemporaryDirectory</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSTemporaryDirectory();<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.0.0</div> <br /> <div class="desc"> Returns the name of a directory in which temporary files can be stored. Under GNUstep this is a location which is not readable by other users. <br /> If a suitable directory can't be found or created, this function raises an NSGenericException. </div> <hr width="25%" align="left" /> <h3><a name="function$NSUserName">NSUserName</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSUserName();<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Return the caller's login name as an NSString object. <br /> Under unix-like systems, the name associated with the current effective user ID is used. <br /> Under ms-windows, the 'LOGNAME' environment is used, or if that fails, the GetUserName() call is used to find the user name. <br /> Raises an exception on failure. </div> <hr width="25%" align="left" /> <h1><a name="018000000000">NSProcessInfo functions</a></h1> <p> </p> <h3><a name="function$GSDebugSet">GSDebugSet</a></h3> BOOL GSDebugSet(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>level</b>);<br /> <div class="availability"> <b>Availability:</b> Base<br /> Likely to be changed/moved/removed at 1.17.0</div> <br /> <div class="desc"> Function for rapid testing to see if a debug <var>level</var> is set. <br /> This is used by the debugging macros. <br /> If debug logging has been turned off, this returns <code>NO</code> even if the specified <var>level</var> exists in the set of debug levels. </div> <hr width="25%" align="left" /> <h3><a name="function$GSInitializeProcess">GSInitializeProcess</a></h3> void GSInitializeProcess(int <b>argc</b>, char** <b>argv</b>, char** <b>envp</b>);<br /> <div class="availability"> <b>Availability:</b> Base<br /> Likely to be changed/moved/removed at 1.17.0</div> <br /> <div class="desc"> Fallback/override function. <br /> The developer must call this method to initialize the NSProcessInfo system if none of the system-specific hacks to auto-initialize it are working. <br /> It is also safe to call this function to override the effects of the automatic initialisation, which some applications may need to do when using GNUstep libraries embedded within other frameworks. </div> <hr width="25%" align="left" /> <h1><a name="019000000000">NSRange functions</a></h1> <p> </p> <h3><a name="function$NSEqualRanges">NSEqualRanges</a></h3> BOOL NSEqualRanges(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> <b>range1</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> <b>range2</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns whether <var>range1</var> and <var>range2</var> have same location and length. </div> <hr width="25%" align="left" /> <h3><a name="function$NSIntersectionRange">NSIntersectionRange</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> NSIntersectionRange(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> <b>aRange</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> <b>bRange</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns range containing indices existing in both <var>aRange</var> and <var>bRange</var>. If the returned length is 0, the location is undefined and should be ignored. </div> <hr width="25%" align="left" /> <h3><a name="function$NSLocationInRange">NSLocationInRange</a></h3> BOOL NSLocationInRange(<a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>location</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> <b>range</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns whether <var>location</var> is greater than or equal to range's <var>location</var> and less than its max. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMakeRange">NSMakeRange</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> NSMakeRange(<a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>location</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>length</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Creates new range starting at <var>location</var> and of given <var>length</var>. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMaxRange">NSMaxRange</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> NSMaxRange(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> <b>range</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns top end of <var>range</var> (location + length). </div> <hr width="25%" align="left" /> <h3><a name="function$NSRangeFromString">NSRangeFromString</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> NSRangeFromString(<a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>aString</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Parses range from string of form {location=a, length=b}; returns range with 0 location and length if this fails. </div> <hr width="25%" align="left" /> <h3><a name="function$NSStringFromRange">NSStringFromRange</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSStringFromRange(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> <b>range</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns string of form {location=a, length=b}. </div> <hr width="25%" align="left" /> <h3><a name="function$NSUnionRange">NSUnionRange</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> NSUnionRange(<a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> <b>aRange</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSRange">NSRange</a> <b>bRange</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns range going from minimum of aRange's and bRange's locations to maximum of their two max's. </div> <hr width="25%" align="left" /> <h3><a name="function$_NSRangeExceptionRaise">_NSRangeExceptionRaise</a></h3> void _NSRangeExceptionRaise();<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Convenience method for raising an NSRangeException. </div> <hr width="25%" align="left" /> <h1><a name="020000000000">NSSet functions</a></h1> <p> </p> <h3><a name="function$GSUPurge">GSUPurge</a></h3> void GSUPurge(<a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>count</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> This function purges the global <a rel="gsdoc" href="NSSet.html#class$NSCountedSet">NSCountedSet</a> object used for uniquing. It handles locking as necessary. It can be used to purge the set even when uniquing is turned off. </div> <hr width="25%" align="left" /> <h3><a name="function$GSUSet">GSUSet</a></h3> id GSUSet(id <b>anObject</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>count</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> This function sets the <var>count</var> for the specified object. If the <var>count</var> for the object is set to zero then the object is removed from the global uniquing set. The object is added to the set if necessary. The object returned is the one stored in the set. The function handles locking as necessary. It can be used to alter the set even when uniquing is turned off. </div> <hr width="25%" align="left" /> <h3><a name="function$GSUnique">GSUnique</a></h3> id GSUnique(id <b>anObject</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> This function <em>uniques</em> the supplied argument, returning the result. It works by using the <a rel="gsdoc" href="NSSet.html#method$NSCountedSet(GNU_Uniquing)-unique$"> [-unique:] </a> method of a global NSCountedSet object. It handles locking as necessary. If uniquing is turned off, it simply returns its argument. </div> <hr width="25%" align="left" /> <h3><a name="function$GSUniquing">GSUniquing</a></h3> void GSUniquing(BOOL <b>flag</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> This function sets the state of a <var>flag</var> that determines the behavior of the <a rel="gsdoc" href="#function$GSUnique"> GSUnique() </a> function. If the <var>flag</var> is on, uniquing is performed, if it is off the function has no effect. The default is for uniquing to be turned off. </div> <hr width="25%" align="left" /> <h1><a name="021000000000">NSThread functions</a></h1> <p> </p> <h3><a name="function$GSRegisterCurrentThread">GSRegisterCurrentThread</a></h3> BOOL GSRegisterCurrentThread();<br /> <div class="availability"> <b>Availability:</b> Base<br /> Likely to be changed/moved/removed at 0.0.0</div> <br /> <div class="desc"> </p> <p> This function is provided to let threads started by some other software library register themselves to be used with the GNUstep system. All such threads should call this function before attempting to use any GNUstep objects. </p> <p> </p> <p> Returns <code>YES</code> if the thread can be registered, <code>NO</code> if it is already registered. </p> <p> </p> <p> Sends out a <code>NSWillBecomeMultiThreadedNotification</code> if the process was not already multithreaded. </p> <p> </div> <hr width="25%" align="left" /> <h3><a name="function$GSUnregisterCurrentThread">GSUnregisterCurrentThread</a></h3> void GSUnregisterCurrentThread();<br /> <div class="availability"> <b>Availability:</b> Base<br /> Likely to be changed/moved/removed at 0.0.0</div> <br /> <div class="desc"> </p> <p> This function is provided to let threads started by some other software library unregister themselves from the GNUstep threading system. </p> <p> </p> <p> Calling this function causes a <code>NSThreadWillExitNotification</code> to be sent out, and destroys the GNUstep NSThread object associated with the thread (like <a rel="gsdoc" href="NSThread.html#method$NSThread+exit"> [NSThread +exit] </a> ) but does not exit the underlying thread. </p> <p> </div> <hr width="25%" align="left" /> <h1><a name="022000000000">NSZone functions</a></h1> <p> </p> <h3><a name="function$GSAssignZeroingWeakPointer">GSAssignZeroingWeakPointer</a></h3> BOOL GSAssignZeroingWeakPointer(void** <b>destination</b>, void* <b>source</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> This function must be used to assign a value to a zeroing weak pointer. <br /> A zeroing weak pointer is one where, when the garbage collector collects the object pointed to, it also clears the weak pointer. <br /> Assigning zero (<code>nil</code>) will always succeed and has the effect of telling the garbage collector that it no longer needs to track the previously assigned object. Apart from that case, a <var>source</var> needs to be garbage collectable for this function to work, and using a non-garbage collectable value will cause the function to return <code>NO</code>. <br /> If the <var>destination</var> object (the weak pointer watching the <var>source</var> object) belongs to a chunk of memory which may be collected before the <var>source</var> object is collected, it is important that it is finalised and the finalisation code assigns zero to the pointer. <br /> If garbage collection is not in use, this function performs a simple assignment returning <code>YES</code>, unless <var>destination</var> is null in which case it returns <code>NO</code>. </div> <hr width="25%" align="left" /> <h3><a name="function$GSMakeWeakPointer">GSMakeWeakPointer</a></h3> void GSMakeWeakPointer(Class <b>theClass</b>, const char* <b>iVarName</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> Called during <a rel="gsdoc" href="NSObject.html#method$NSObject+initialize"> +initialize </a> to tell the class that instances created in future should have the specified instance variable as a weak pointer for garbage collection. <br /> NB. making a pointer weak does not mean that it is automatically zeroed when the object it points to is garbage collected. To get that behavior you must asign values to the pointer using the <a rel="gsdoc" href="#function$GSAssignZeroingWeakPointer"> GSAssignZeroingWeakPointer() </a> function. <br /> This function has no effect if the system is not built for garbage collection. </div> <hr width="25%" align="left" /> <h3><a name="function$GSOutOfMemory">GSOutOfMemory</a></h3> void* GSOutOfMemory(<a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>size</b>, BOOL <b>retry</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> Try to get more memory - the normal process has failed. If we can't do anything, just return a null pointer. Try to do some logging if possible. </div> <hr width="25%" align="left" /> <h3><a name="function$NSAllocateCollectable">NSAllocateCollectable</a></h3> void* NSAllocateCollectable(<a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>size</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>options</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.4.0</div> <br /> <div class="desc"> Allocate memory. If garbage collection is not enabled this uses the default malloc zone and the <var>options</var> are ignored. <br /> If garbage collection is enabled, the allocate memory is normally not scanned for pointers but is itsself garbage collectable. The <var>options</var> argument is a bitmask in which NSScannedOption sets the memory to be scanned for pointers by the garbage collector, and NSCollectorDisabledOption causes the memory to be excempt from being garbage collected itsself. <br /> In any case the memory returned is zero'ed. </div> <hr width="25%" align="left" /> <h3><a name="function$NSAllocateMemoryPages">NSAllocateMemoryPages</a></h3> void* NSAllocateMemoryPages(<a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>bytes</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Allocate memory for this process and return a pointer to it (or a null pointer on failure). The allocated memory is page aligned and the actual size of memory allocated is a multiple of the page size. </div> <hr width="25%" align="left" /> <h3><a name="function$NSCopyMemoryPages">NSCopyMemoryPages</a></h3> void NSCopyMemoryPages(const void* <b>src</b>, void* <b>dest</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>bytes</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Perform an efficient large scale copy of data from <var>src</var> to <var>dest</var>. The value <var>bytes</var> specifies the length of the data copied. </div> <hr width="25%" align="left" /> <h3><a name="function$NSCreateZone">NSCreateZone</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* NSCreateZone(<a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>start</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>gran</b>, BOOL <b>canFree</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Creates a new zone of <var>start</var> bytes, which will grow and shrink by granularity bytes. If <var>canFree</var> is 0, memory in zone is allocated but never freed, meaning allocation will be very fast. The whole zone can still be freed with <a rel="gsdoc" href="#function$NSRecycleZone"> NSRecycleZone() </a> , and you should still call NSZoneFree on memory in the zone that is no longer needed, since a count of allocated pointers is kept and must reach zero before freeing the zone. <br /> If Garbage Collection is enabled, this function does nothing other than log a warning and return the same value as the <a rel="gsdoc" href="#function$NSDefaultMallocZone"> NSDefaultMallocZone() </a> function. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDeallocateMemoryPages">NSDeallocateMemoryPages</a></h3> void NSDeallocateMemoryPages(void* <b>ptr</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>bytes</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Deallocate memory which was previously allocated using the <a rel="gsdoc" href="#function$NSAllocateMemoryPages"> NSAllocateMemoryPages() </a> function. <br /> The <var>bytes</var> argument should be the same as the value passed to the <a rel="gsdoc" href="#function$NSAllocateMemoryPages"> NSAllocateMemoryPages() </a> function. </div> <hr width="25%" align="left" /> <h3><a name="function$NSDefaultMallocZone">NSDefaultMallocZone</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* NSDefaultMallocZone();<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the default zone for memory allocation. Memory created in this zone is the same as memory allocates using the system malloc() function. </div> <hr width="25%" align="left" /> <h3><a name="function$NSLogPageSize">NSLogPageSize</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> NSLogPageSize();<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Return log base 2 of the number of bytes in a memory page. </div> <hr width="25%" align="left" /> <h3><a name="function$NSMakeCollectable">NSMakeCollectable</a></h3> id NSMakeCollectable(const void* <b>cf</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> <em>Description forthcoming.</em> </div> <hr width="25%" align="left" /> <h3><a name="function$NSPageSize">NSPageSize</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> NSPageSize();<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Return the number of bytes in a memory page. </div> <hr width="25%" align="left" /> <h3><a name="function$NSRealMemoryAvailable">NSRealMemoryAvailable</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> NSRealMemoryAvailable();<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Return the number of bytes of real (physical) memory available. </div> <hr width="25%" align="left" /> <h3><a name="function$NSReallocateCollectable">NSReallocateCollectable</a></h3> void* NSReallocateCollectable(void* <b>ptr</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>size</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>options</b>);<br /> <div class="availability"> <b>Availability:</b> MacOS-X 10.4.0</div> <br /> <div class="desc"> Reallocate memory to be of a different <var>size</var> and/or to have different <var>options</var> settings. The behavior of <var>options</var> is as for the <a rel="gsdoc" href="#function$NSAllocateCollectable"> NSAllocateCollectable() </a> function. </div> <hr width="25%" align="left" /> <h3><a name="function$NSRecycleZone">NSRecycleZone</a></h3> void NSRecycleZone(<a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Return memory for an entire <var>zone</var> to system. In fact, this will not be done unless all memory in the <var>zone</var> has been explicitly freed (by calls to NSZoneFree()). For "non-freeable" zones, the number of <a rel="gsdoc" href="#function$NSZoneFree"> NSZoneFree() </a> calls must simply equal the number of allocation calls. The default <var>zone</var>, on the other hand, cannot be recycled. <br /> If Garbage Collection is enabled, this function has not effect. </div> <hr width="25%" align="left" /> <h3><a name="function$NSRoundDownToMultipleOfPageSize">NSRoundDownToMultipleOfPageSize</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> NSRoundDownToMultipleOfPageSize(<a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>bytes</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Round <var>bytes</var> down to the nearest multiple of the memory page size, and return it. </div> <hr width="25%" align="left" /> <h3><a name="function$NSRoundUpToMultipleOfPageSize">NSRoundUpToMultipleOfPageSize</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> NSRoundUpToMultipleOfPageSize(<a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>bytes</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Round <var>bytes</var> up to the nearest multiple of the memory page size, and return it. </div> <hr width="25%" align="left" /> <h3><a name="function$NSSetZoneName">NSSetZoneName</a></h3> void NSSetZoneName(<a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>, <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* <b>name</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Sets <var>name</var> of the given <var>zone</var> (useful for debugging and logging). </div> <hr width="25%" align="left" /> <h3><a name="function$NSZoneCalloc">NSZoneCalloc</a></h3> void* NSZoneCalloc(<a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>elems</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>bytes</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Allocates and returns cleared memory for <var>elems</var> items of size <var>bytes</var>, in the given <var>zone</var>. Returns NULL if allocation of size 0 requested. Raises <code>NSMallocException</code> if not enough free memory in <var>zone</var> to allocate and no more can be obtained from system, unless using the default <var>zone</var>, in which case NULL is returned. <br /> If Garbage Collection is enabled, this function always allocates non-scanned, non-collectable memory in the <a rel="gsdoc" href="#function$NSDefaultMallocZone"> NSDefaultMallocZone() </a> and the <var>zone</var> argument is ignored. </div> <hr width="25%" align="left" /> <h3><a name="function$NSZoneCheck">NSZoneCheck</a></h3> BOOL NSZoneCheck(<a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> Deprecated... <br /> Checks integrity of a <var>zone</var>. Not defined by OpenStep or OS X. </div> <hr width="25%" align="left" /> <h3><a name="function$NSZoneFree">NSZoneFree</a></h3> void NSZoneFree(<a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>, void* <b>ptr</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Frees memory pointed to by <var>ptr</var> (which should have been allocated by a previous call to <a rel="gsdoc" href="#function$NSZoneMalloc"> NSZoneMalloc() </a> , <a rel="gsdoc" href="#function$NSZoneCalloc"> NSZoneCalloc() </a> , or NSZoneRealloc()) and returns it to <var>zone</var>. Note, if this is a nonfreeable <var>zone</var>, the memory is not actually freed, but the count of number of free()s is updated. <br /> If Garbage Collection is enabled, the <var>zone</var> argument is ignored and this function causes <var>ptr</var> to be deallocated immediately. </div> <hr width="25%" align="left" /> <h3><a name="function$NSZoneFromPointer">NSZoneFromPointer</a></h3> <a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* NSZoneFromPointer(void* <b>ptr</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Searches and finds the zone <var>ptr</var> was allocated from. The speed depends upon the number of zones and their size. <br /> If Garbage Collection is enabled, this function always returns the same as the <a rel="gsdoc" href="#function$NSDefaultMallocZone"> NSDefaultMallocZone() </a> function. </div> <hr width="25%" align="left" /> <h3><a name="function$NSZoneMalloc">NSZoneMalloc</a></h3> void* NSZoneMalloc(<a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>size</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Allocates and returns memory for elems items of <var>size</var> bytes, in the given <var>zone</var>. Returns NULL if allocation of <var>size</var> 0 requested. Raises <code>NSMallocException</code> if not enough free memory in <var>zone</var> to allocate and no more can be obtained from system, unless using the default <var>zone</var>, in which case NULL is returned. <br /> If Garbage Collection is enabled, this function always allocates non-scanned, non-collectable memory in the <a rel="gsdoc" href="#function$NSDefaultMallocZone"> NSDefaultMallocZone() </a> and the <var>zone</var> argument is ignored. </div> <hr width="25%" align="left" /> <h3><a name="function$NSZoneName">NSZoneName</a></h3> <a rel="gsdoc" href="NSString.html#class$NSString">NSString</a>* NSZoneName(<a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Returns the name of the given <var>zone</var> (useful for debugging and logging). </div> <hr width="25%" align="left" /> <h3><a name="function$NSZoneRealloc">NSZoneRealloc</a></h3> void* NSZoneRealloc(<a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>, void* <b>ptr</b>, <a rel="gsdoc" href="TypesAndConstants.html#type$NSUInteger">NSUInteger</a> <b>size</b>);<br /> <div class="availability"> <b>Availability:</b> OpenStep</div> <br /> <div class="desc"> Reallocates the chunk of memory in <var>zone</var> pointed to by <var>ptr</var> to a new one of <var>size</var> bytes. Existing contents in <var>ptr</var> are copied over. Raises an <code>NSMallocException</code> if insufficient memory is available in the <var>zone</var> and no more memory can be obtained from the system, unless using the default <var>zone</var>, in which case NULL is returned. <br /> If Garbage Collection is enabled, the <var>zone</var> argument is ignored. </div> <hr width="25%" align="left" /> <h3><a name="function$NSZoneStats">NSZoneStats</a></h3> struct NSZoneStats NSZoneStats(<a rel="gsdoc" href="TypesAndConstants.html#type$NSZone">NSZone</a>* <b>zone</b>);<br /> <div class="availability"> <b>Availability:</b> Not in OpenStep/MacOS-X</div> <br /> <div class="desc"> Deprecated... <br /> Obtain statistics about the <var>zone</var>. Implementation emphasis is on correctness, not speed. Not defined by OpenStep or OS X. </div> <hr width="25%" align="left" /> <br /> <a href="Base.html">Up</a> </font> </body> </html>