Classes

GCArray
GCDictionary
GCMutableArray
GCMutableDictionary
GCObject
GSHTMLParser
GSHTMLSAXHandler
GSMimeCodingContext
GSMimeDocument
GSMimeHeader
GSMimeParser
GSMimeSMTPClient
GSMimeSerializer
GSSAXHandler
GSTLSCertificateList
GSTLSCredentials
GSTLSDHParams
GSTLSObject
GSTLSPrivateKey
GSTLSSession
GSTreeSAXHandler
GSXMLAttribute
GSXMLDocument
GSXMLNamespace
GSXMLNode
GSXMLParser
GSXMLRPC
GSXPathBoolean
GSXPathContext
GSXPathNodeSet
GSXPathNumber
GSXPathObject
GSXPathString

Protocols

Constants

GSMimeErrorDomain
GSTLSCAFile
GSTLSCertificateFile
GSTLSCertificateKeyFile
GSTLSCertificateKeyPassword
GSTLSDebug
GSTLSIssuers
GSTLSOwners
GSTLSPriority
GSTLSRemoteHosts
GSTLSRevokeFile
GSTLSServerName
GSTLSVerify

Functions

GSAutoreleasedBuffer
GSCGetInstanceVariableDefinition
GSClassFromName
GSClassList
GSClassNameFromObject
GSClassSwizzle
GSCurrentThread
GSCurrentThreadDictionary
GSDebugFunctionMsg
GSDebugMethodMsg
GSDebugSet
GSDefaultLanguageLocale
GSDomainFromDefaultLocale
GSEncodingForRegistry
GSEncodingFromLocale
GSFindNamedFile
GSFlushMethodCacheForClass
GSFromUnicode
GSGetMethod
GSIArrayAddItem
GSIArrayAddItemNoRetain
GSIArrayCapacity
GSIArrayCheckSort
GSIArrayClear
GSIArrayCopyWithZone
GSIArrayCount
GSIArrayEmpty
GSIArrayGrow
GSIArrayGrowTo
GSIArrayInitWithZoneAndCapacity
GSIArrayInitWithZoneAndStaticCapacity
GSIArrayInsertItem
GSIArrayInsertItemNoRetain
GSIArrayInsertSorted
GSIArrayInsertSortedNoRetain
GSIArrayInsertionPosition
GSIArrayItemAtIndex
GSIArrayItems
GSIArrayLastItem
GSIArrayRemoveAllItems
GSIArrayRemoveItemAtIndex
GSIArrayRemoveItemAtIndexNoRelease
GSIArrayRemoveItemsFromIndex
GSIArrayRemoveLastItem
GSIArraySearch
GSIArraySetItemAtIndex
GSIArraySize
GSIMapAddKey
GSIMapAddKeyNoRetain
GSIMapAddNodeToBucket
GSIMapAddNodeToMap
GSIMapAddPair
GSIMapAddPairNoRetain
GSIMapBucketForKey
GSIMapCleanMap
GSIMapCountByEnumeratingWithStateObjectsCount
GSIMapEmptyMap
GSIMapEndEnumerator
GSIMapEnumeratorBucket
GSIMapEnumeratorForMap
GSIMapEnumeratorNextNode
GSIMapFirstNode
GSIMapFreeNode
GSIMapInitWithZoneAndCapacity
GSIMapLinkNodeIntoBucket
GSIMapMoreNodes
GSIMapNodeForKey
GSIMapNodeForKeyInBucket
GSIMapNodeForSimpleKey
GSIMapPickBucket
GSIMapRemangleBuckets
GSIMapRemoveAndFreeNode
GSIMapRemoveKey
GSIMapRemoveNodeFromBucket
GSIMapRemoveNodeFromMap
GSIMapRemoveWeak
GSIMapResize
GSIMapRightSizeMap
GSIMapSize
GSIMapUnlinkNodeFromBucket
GSLanguageFromLocale
GSLanguagesFromLocale
GSLastErrorStr
GSLocaleVariants
GSNameFromClass
GSNameFromSelector
GSObjCAddClassBehavior
GSObjCAddClassOverride
GSObjCAddClasses
GSObjCAddMethods
GSObjCAllSubclassesOfClass
GSObjCBehaviorDebug
GSObjCClass
GSObjCDirectSubclassesOfClass
GSObjCFindVariable
GSObjCGetInstanceVariableDefinition
GSObjCGetVal
GSObjCGetVariable
GSObjCIsClass
GSObjCIsInstance
GSObjCIsKindOf
GSObjCMakeClass
GSObjCMethodNames
GSObjCSetVal
GSObjCSetVariable
GSObjCSuper
GSObjCVariableNames
GSObjCVersion
GSPathHandling
GSPrintf
GSProtocolFromName
GSProtocolGetMethodDescriptionRecursive
GSRegisterProtocol
GSSelectorFromName
GSSelectorFromNameAndTypes
GSSelectorTypesMatch
GSSetLocale
GSSetLocaleC
GSSkipTypeQualifierAndLayoutInfo
GSToUnicode
GSTypesFromSelector
GSUnicode
_Block_copy
_Block_release
gs_consumed
uni_cop
uni_is_decomp
uni_isnonsp
uni_tolower
uni_toupper

Macros

ALog
ASSIGN
ASSIGNCOPY
ASSIGNMUTABLECOPY
AUTORELEASE
BLOCK_SCOPE
CALL_BLOCK
CALL_BLOCK_NO_ARGS
CALL_BLOCK_RET
CALL_BLOCK_RET_NO_ARGS
CALL_NON_NULL_BLOCK
CALL_NON_NULL_BLOCK_NO_ARGS
CHECK_INDEX_RANGE_ERROR
CREATE_AUTORELEASE_POOL
DEALLOC
DEFINE_BLOCK_TYPE
DEFINE_BLOCK_TYPE_NO_ARGS
DESTROY
DLog
ENTER_POOL
GSLocalizedStaticString
GSOnceFLog
GSOnceMLog
GS_API_LATEST
GS_API_MACOSX
GS_API_NONE
GS_API_OPENSTEP
GS_API_OSSPEC
GS_API_VERSION
GS_CLANG_MINREQ
GS_DEPRECATED_FUNC
GS_EXPOSE
GS_GCC_MINREQ
GS_LOCALISATION_BUNDLE
GS_MAX_OBJECTS_FROM_STACK
GS_NORETURN_METHOD
GS_PART_MAP_ENUMERATOR
GS_RANGE_CHECK
GS_UNIMPLEMENTED
GS_UNUSED_ARG
GS_UNUSED_FUNC
GS_UNUSED_IVAR
GS_USEIDLIST
GS_USEIDPAIRLIST
IF_NO_ARC
IF_NO_GC
LEAVE_POOL
MAC_OS_X_VERSION_MAX_ALLOWED
NSDebugFLLog
NSDebugFLog
NSDebugFRLog
NSDebugLLog
NSDebugLog
NSDebugMLLog
NSDebugMLog
NSDebugMRLog
NSWarnFLog
NSWarnLog
NSWarnMLog
NS_CONSUMED
NS_CONSUMES_SELF
NS_RETURNS_NOT_RETAINED
NS_RETURNS_RETAINED
OS_API_VERSION
RECREATE_AUTORELEASE_POOL
RELEASE
RETAIN
TEST_AUTORELEASE
TEST_RELEASE
TEST_RETAIN
_
__
__has_feature

Types

GSIArray
GSIArray_t
GSIMapBucket
GSIMapBucket_t
GSIMapEnumerator
GSIMapEnumerator_t
GSIMapNode
GSIMapNode_t
GSIMapTable
GSIMapTable_t
GSIVar
GSMethod
GSMimeErrorCode
GSTLSIOR
GSTLSIOW
NSGNUstepStringEncoding
NSInteger
NSUInteger
struct _GSIMapEnumerator

Variables

_GSIE
struct _GSIArray
struct _GSIMapBucket
struct _GSIMapNode
struct _GSIMapTable

Up

GCObject documentation

Authors

Richard Frith-Macdonald (rfm@gnu.org)

Date: Generated at 2024-11-18 21:56:54 +0100

Copyright: (C) 2002 Free Software Foundation, Inc.


Contents -

  1. Software documentation for the GCArray class
  2. Software documentation for the GCDictionary class
  3. Software documentation for the GCMutableArray class
  4. Software documentation for the GCMutableDictionary class
  5. Software documentation for the GCObject class
  6. Software documentation for the GCObject(Extra) category

Software documentation for the GCArray class

GCArray : NSArray

class_GCArray NSArray NSArray GCArray GCArray NSArray->GCArray
Declared in:
GNUstepBase/GCObject.h
Availability: OpenStep

Description forthcoming.

Instance Variables



Instance Variables for GCArray Class

_contents

@protected id* _contents;
Availability: OpenStep

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

_count

@protected unsigned int _count;
Availability: OpenStep

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

_isGCObject

@protected BOOL* _isGCObject;
Availability: OpenStep

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

gc

@protected gcInfo gc;
Availability: OpenStep

Description forthcoming.




Software documentation for the GCDictionary class

GCDictionary : NSDictionary

class_GCDictionary NSDictionary NSDictionary GCDictionary GCDictionary NSDictionary->GCDictionary
Declared in:
GNUstepBase/GCObject.h
Availability: OpenStep

Description forthcoming.

Instance Variables



Instance Variables for GCDictionary Class

_map

@protected NSMapTable* _map;
Availability: OpenStep

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

gc

@protected gcInfo gc;
Availability: OpenStep

Description forthcoming.




Software documentation for the GCMutableArray class

GCMutableArray : NSMutableArray

class_GCMutableArray NSMutableArray NSMutableArray GCMutableArray GCMutableArray NSMutableArray->GCMutableArray
Declared in:
GNUstepBase/GCObject.h
Availability: OpenStep

Description forthcoming.

Instance Variables



Instance Variables for GCMutableArray Class

_contents

@protected id* _contents;
Availability: OpenStep

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

_count

@protected unsigned int _count;
Availability: OpenStep

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

_isGCObject

@protected BOOL* _isGCObject;
Availability: OpenStep

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

_maxCount

@protected unsigned int _maxCount;
Availability: OpenStep

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

gc

@protected gcInfo gc;
Availability: OpenStep

Description forthcoming.




Software documentation for the GCMutableDictionary class

GCMutableDictionary : NSMutableDictionary

class_GCMutableDictionary NSMutableDictionary NSMutableDictionary GCMutableDictionary GCMutableDictionary NSMutableDictionary->GCMutableDictionary
Declared in:
GNUstepBase/GCObject.h
Availability: OpenStep

Description forthcoming.

Instance Variables



Instance Variables for GCMutableDictionary Class

_map

@protected NSMapTable* _map;
Availability: OpenStep

Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

gc

@protected gcInfo gc;
Availability: OpenStep

Description forthcoming.




Software documentation for the GCObject class

GCObject : NSObject

class_GCObject NSObject NSObject GCObject GCObject NSObject->GCObject
Declared in:
GNUstepBase/GCObject.h
Availability: OpenStep

The GCObject class is both the base class for all garbage collected objects, and an infrastructure for handling garbage collection.

It maintains a list of all garbage collectable objects and provides a method to run a garbage collection pass on those objects.


Instance Variables

Method summary


gcCollectGarbage 

+ (void) gcCollectGarbage;
Availability: OpenStep

This method runs a garbage collection, causing unreferenced objects to be deallocated. This is done using a simple three pass algorithm -

Pass 1
All the garbage collectable objects are sent a -gcDecrementRefCountOfContainedObjects message.
Pass 2
All objects having a refCount greater than 0 are sent an -gcIncrementRefCountOfContainedObjects message.
Pass 3
All the objects that still have the refCount of 0 are part of cyclic graphs and none of the objects from this graph are held by some object outside graph. These objects receive the -dealloc message. In this method they should send the -dealloc message to any garbage collectable (GCObject and subclass) instances they contain.

During garbage collection, the +gcIsCollecting method returns YES.


gcIsCollecting 

+ (BOOL) gcIsCollecting;
Availability: OpenStep

Returns a flag to indicate whether a garbage collection is in progress.

gcObjectWillBeDeallocated: 

+ (void) gcObjectWillBeDeallocated: (GCObject*)anObject;
Availability: OpenStep

Called to remove anObject from the list of garbage collectable objects.
This method is provided so that classes which are not subclasses of GCObject (but which have the same initial instance variable layout) can use multiple inheritance (behaviors) to act as GCObject instances, but can have their own -dealloc methods.
These classes should call this in their own -dealloc methods.

gcDecrementRefCount 

- (void) gcDecrementRefCount;
Availability: OpenStep

Decrements the garbage collection reference count for the receiver.

gcDecrementRefCountOfContainedObjects 

- (void) gcDecrementRefCountOfContainedObjects;
Availability: OpenStep

Marks the receiver as not having been visited in the current garbage collection process (first pass of collection).

All container subclasses should override this method to call the super implementation then decrement the ref counts of their contents as well as sending the -gcDecrementRefCountOfContainedObjects message to each of them.


gcIncrementRefCount 

- (void) gcIncrementRefCount;
Availability: OpenStep

Increments the garbage collection reference count for the receiver.

gcIncrementRefCountOfContainedObjects 

- (BOOL) gcIncrementRefCountOfContainedObjects;
Availability: OpenStep

Checks to see if the receiver has already been visited in the current garbage collection process, and either marks the receiver as visited (and returns YES) or returns NO to indicate that it had already been visited.

All container subclasses should override this method to call the super implementation then, if the method returns YES, increment the reference count of any contained objects and send the -gcIncrementRefCountOfContainedObjects to each of the contained objects too.




Instance Variables for GCObject Class

gc

@protected gcInfo gc;
Availability: OpenStep

Description forthcoming.




Software documentation for the GCObject(Extra) category

GCObject(Extra)

Declared in:
GNUstepBase/GCObject.h
Availability: OpenStep

This category implements accessor methods for the instance variables used for garbage collecting. If/when we can ensure that all garbage collecting classes use the same initial ivar layout, we can remove these methods and the garbage collector can access the ivars directly, making a pretty big performance improvement during collecting.
NB. These methods must *only* be used by the garbage collecting process or in methods called from the garbage collector. Anything else is not thread-safe.

Method summary


gcAlreadyVisited 

- (BOOL) gcAlreadyVisited;
Availability: OpenStep

Description forthcoming.

gcNextObject 

- (GCObject*) gcNextObject;
Availability: OpenStep

Description forthcoming.

gcPreviousObject 

- (GCObject*) gcPreviousObject;
Availability: OpenStep

Description forthcoming.

gcSetNextObject: 

- (GCObject*) gcSetNextObject: (GCObject*)anObject;
Availability: OpenStep

Description forthcoming.

gcSetPreviousObject: 

- (GCObject*) gcSetPreviousObject: (GCObject*)anObject;
Availability: OpenStep

Description forthcoming.

gcSetVisited: 

- (void) gcSetVisited: (BOOL)flag;
Availability: OpenStep

Description forthcoming.


Up