deferred int compare id other pre other != nil;
other
is considered equal by the receiving object.
1 if the receiver considers himself larger, and -1 when smaller.
In short, a the combo of garbage collector and container implements weak referencing.
deferred void gc_container_mark_elements;
boolean isContainer;
TRUE
iff the receiving object is a container.
void setIsContainer boolean container_p;
container_p
.
Copying
class defines an interface to copying objects.
Copying
inherits from State
since class objects should not be
copyable. Inheriting from State
ensures that the Copying
instance
methods can not be inherited by class objects.
id copy;
id deepCopy;
id deepen int level mutably: boolean mutable_p = NO;
deepen mutable:
deepens the copy. Iff the optional mutable_p
is
TRUE
, the deepened copies will also be mutable. The default
implementation does nothing.
The level
should be less than 0 for an infinite deepen. length ==
0
is a nop; iff length > 0
, every element of the copy is copied and
deepened with level - 1
.
The value returned is self
.
id initCopy;
copy
. The default implementation does nothing but return
self
.
id initAsCopyOf All other;
mutableCopy
of the other
object. The default implementation
does nothing but returning self
.
_builtin_.Any mutableCopy;
[self copy]
.
Mutable copying asks the receiving object for its mutableCopyClass
.
If this class is isa
, self
is sent a copy
. Otherwise, an
instance of the class is allocated and sent an initAsCopyOf
.
class (State) mutableCopyClass;
isa
.
instance (id) withEnumerable Enumerable other;
self
's withEnumerator
with an enumerator
from the
other
.
instance (id) withEnumerator Enumerator e;
Enumerator
e
.
deferred protected id initWithEnumerator Enumerator e;
Enumerator
e
.
deferred Enumerator enumerator;
Enumerator
on the receiving object.
deferred (boolean, _builtin_.Any) next;
TRUE
, the end has not yet been reached.
(boolean, byte) next;
(boolean, char) next;
(boolean, int) next;
(boolean, long) next;
(boolean, float) next;
(boolean, double) next;