swarm.collections
Class ListImpl

java.lang.Object
  |
  +--swarm.BaseImpl
        |
        +--swarm.collections.ListImpl

public class ListImpl
extends BaseImpl
implements Collection, CollectionS, Serialization, SerializationS, ListS, List

Collection of members in an externally assigned linear sequence.. A list is a collection of members that are all maintained at some externally assigned position in a linear sequence of all members. The sequence is established by the position at which members are added: members can be added at the start of list, at the end, or at any point in the middle. A list is also one of the most dynamic of basic collections, in that the cost of adding and removing members is very low. Members can be removed from any position just as easily as they can be added. A list automatically grows and shrinks to reflect the number of members at any one time, and there is no fixed capacity which limits the size to which a list may grow. The List type is supports all messages of Collection. If created with default options, it provides no special speedup of accesses by integer offset.


Constructor Summary
ListImpl()
           
ListImpl(Zone aZone)
          The create: message creates a new instance of a type with default options.
 
Methods implemented by this class for interface swarm.collections.Collection
allSameClass, begin, beginPermuted, contains, copy, deleteAll, getCount, getReplaceOnly, remove, removeAll
 
Methods implemented by this class for interface swarm.defobj.Serialization
hdf5OutDeep, hdf5OutShallow, lispOutDeep, lispOutShallow, lispOutVars$deep, lispSaveStream$Boolean$Value, lispSaveStream$Char$Value, lispSaveStream$Double$Value, lispSaveStream$Float$Value, lispSaveStream$Integer$Value, lispSaveStream$Long$Value, lispSaveStream$LongLong$Value, lispSaveStream$Short$Value, lispSaveStream$Unsigned$Value, lispSaveStream$UnsignedLong$Value, lispSaveStream$UnsignedLongLong$Value, lispSaveStream$UnsignedShort$Value, updateArchiver
 
Methods implemented by this class for interface swarm.defobj.SerializationS
hdf5In, lispIn
 
Methods implemented by this class for interface swarm.collections.List
addFirst, addLast, listBegin, removeFirst, removeLast
 
Methods implemented by this class for interface swarm.defobj.Copy
copy
 
Methods implemented by this class for interface swarm.defobj.Drop
drop
 
Methods implemented by this class for interface swarm.collections.Offsets
atOffset, atOffset$put, getFirst, getLast
 
Methods implemented by this class for interface swarm.collections.ForEach
describeForEach, describeForEachID, forEach, forEach, forEach, forEach
 
Methods implemented by this class for interface swarm.defobj.DefinedObject
compare, describe, describeID, getDisplayName, getTypeName, getZone, perform, perform$with, perform$with$with, perform$with$with$with, respondsTo, setDisplayName, xfprint, xfprintid, xprint, xprintid
 
Methods implemented by this class for interface swarm.defobj.GetName
getName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ListImpl

public ListImpl()

ListImpl

public ListImpl(Zone aZone)
The create: message creates a new instance of a type with default options. The zone argument specifies the source of storage for the new object. The receiving object of this message is a previously defined type object. The message is declared as a class message (with a + declaration tag) to indicate that the message is accepted only by the type object itself rather than an already created instance of the type (which a - declaration tag otherwise defines). The create: message returns the new object just created. This object is an instance of some class selected to implement the type. The class which a type selects to implement an object may be obtained by the getClass message, but is not otherwise visible to the calling program. A caller never refers to any class name when creating objects using these messages, only to type names, which are automatically published as global constants from any @protocol declaration.