RexxHashTableCollection Class Reference

#include <RexxCollection.hpp>

Inheritance diagram for RexxHashTableCollection:
[legend]

Public Member Functions

void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
RexxObject * unflatten (RexxEnvelope *)
 
RexxObject * makeProxy (RexxEnvelope *)
 
RexxObject * copy ()
 
RexxArray * makeArray ()
 
virtual RexxObject * mergeItem (RexxObject *, RexxObject *)
 
virtual RexxObject * remove (RexxObject *key)
 
virtual RexxObject * get (RexxObject *key)
 
virtual RexxObject * put (RexxObject *, RexxObject *)
 
virtual RexxObject * add (RexxObject *, RexxObject *)
 
virtual RexxObject * removeItem (RexxObject *value)
 
virtual RexxObject * hasItem (RexxObject *)
 
virtual RexxObject * getIndex (RexxObject *value)
 
RexxObject * copyValues (int depth)
 
RexxObject * removeRexx (RexxObject *)
 
RexxObject * getRexx (RexxObject *)
 
RexxObject * putRexx (RexxObject *, RexxObject *)
 
RexxObject * addRexx (RexxObject *, RexxObject *)
 
RexxObject * hasIndexRexx (RexxObject *)
 
RexxObject * hasItemRexx (RexxObject *)
 
RexxObject * removeItemRexx (RexxObject *value)
 
RexxObject * allAt (RexxObject *)
 
RexxObject * indexRexx (RexxObject *value)
 
RexxSupplier * supplier ()
 
RexxObject * merge (RexxHashTableCollection *)
 
RexxArray * allItems ()
 
RexxArray * allIndexes ()
 
RexxArray * uniqueIndexes ()
 
RexxObject * empty ()
 
RexxObject * isEmpty ()
 
HashLink items ()
 
HashLink first ()
 
HashLink next (HashLink pos)
 
RexxObject * value (HashLink pos)
 
RexxObject * index (HashLink pos)
 
bool available (HashLink pos)
 
- Public Member Functions inherited from RexxObject
void * operator new (size_t, RexxClass *)
 
void * operator new (size_t, RexxClass *, RexxObject **, size_t, size_t)
 
void * operator new (size_t size, void *objectPtr)
 
void operator delete (void *, void *)
 
void operator delete (void *)
 
void operator delete (void *, RexxClass *)
 
void operator delete (void *, RexxClass *, RexxObject **, size_t)
 
RexxObject * newRexx (RexxObject **arguments, size_t argCount, size_t named_argCount)
 
RexxObject * newObject ()
 
 operator RexxInternalObject * ()
 
 RexxObject ()
 
 RexxObject (RESTORETYPE restoreType)
 
void initializeNewObject (size_t size, size_t mark, void *vft, RexxBehaviour *b)
 
void initializeNewObject (size_t mark, void *vft, RexxBehaviour *b)
 
virtual ~RexxObject ()
 
virtual RexxObject * defMethod (RexxString *, RexxMethod *, RexxString *a=OREF_NULL)
 
virtual RexxString * defaultName ()
 
virtual RexxObject * unknown (RexxString *msg, RexxArray *args, RexxDirectory *named_args)
 
virtual RexxInteger * hasMethod (RexxString *msg)
 
bool hasUninitMethod ()
 
RexxObject * init ()
 
void uninit ()
 
HashCode hash ()
 
bool truthValue (int)
 
virtual bool logicalValue (logical_t &)
 
virtual bool numberValue (wholenumber_t &result, size_t precision)
 
virtual bool numberValue (wholenumber_t &result)
 
virtual bool unsignedNumberValue (stringsize_t &result, size_t precision)
 
virtual bool unsignedNumberValue (stringsize_t &result)
 
virtual bool doubleValue (double &result)
 
RexxNumberString * numberString ()
 
RexxInteger * integerValue (size_t)
 
RexxString * makeString ()
 
RexxText * makeText ()
 
void copyIntoTail (RexxCompoundTail *buffer)
 
RexxString * stringValue ()
 
RexxText * textValue ()
 
RexxString * requestString ()
 
RexxString * requestStringNoNOSTRING ()
 
RexxText * requestText ()
 
RexxInteger * requestInteger (size_t)
 
bool requestNumber (wholenumber_t &, size_t)
 
bool requestUnsignedNumber (stringsize_t &, size_t)
 
RexxArray * requestArray ()
 
RexxDirectory * requestDirectory ()
 
RexxString * requiredString (RexxString *kind, size_t)
 
RexxString * requiredString (RexxString *kind, const char *)
 
RexxString * requiredString ()
 
RexxInteger * requiredInteger (RexxString *kind, size_t, size_t)
 
wholenumber_t requiredNumber (RexxString *kind, size_t position, size_t precision=Numerics::ARGUMENT_DIGITS)
 
stringsize_t requiredPositive (RexxString *kind, size_t position, size_t precision=Numerics::ARGUMENT_DIGITS)
 
stringsize_t requiredNonNegative (RexxString *kind, size_t position, size_t precision=Numerics::ARGUMENT_DIGITS)
 
bool isEqual (RexxObject *)
 
bool isInstanceOf (RexxClass *)
 
RexxObject * isInstanceOfRexx (RexxClass *)
 
RexxObject * isNilRexx ()
 
RexxMethod * instanceMethod (RexxString *)
 
RexxSupplier * instanceMethods (RexxClass *)
 
RexxMethod * instanceMethodRexx (RexxString *)
 
RexxSupplier * instanceMethodsRexx (RexxClass *)
 
RexxObject * dynamicTargetRexx (RexxObject **arguments, size_t argCount, size_t named_argCount)
 
RexxString * objectName ()
 
RexxObject * objectNameEquals (RexxObject *)
 
RexxClass * classObject ()
 
RexxObject * setMethod (RexxString *, RexxMethod *, RexxString *a=OREF_NULL)
 
RexxObject * unsetMethod (RexxString *)
 
RexxObject * requestRexx (RexxString *)
 
RexxMessage * start (RexxObject **, size_t, size_t)
 
RexxMessage * startWith (RexxObject *, RexxArray *, RexxObject **, size_t)
 
RexxObject * send (RexxObject **, size_t, size_t)
 
RexxObject * sendWith (RexxObject *, RexxArray *, RexxObject **, size_t)
 
RexxMessage * startCommon (RexxObject *message, RexxObject **arguments, size_t argCount, size_t named_argCount)
 
RexxString * oref ()
 
RexxObject * pmdict ()
 
RexxObject * run (RexxObject **, size_t, size_t)
 
bool messageSend (RexxString *, RexxObject **, size_t, size_t, ProtectedObject &, bool processUnknown=true, bool dynamicTarget=true)
 
bool messageSend (RexxString *, RexxObject **, size_t, size_t, RexxObject *, ProtectedObject &, bool processUnknown=true, bool dynamicTarget=true)
 
RexxMethod * checkPrivate (RexxMethod *, RexxErrorCodes &)
 
RexxMethod * checkPackage (RexxMethod *, RexxErrorCodes &)
 
void processUnknown (RexxErrorCodes, RexxString *, RexxObject **, size_t, size_t, ProtectedObject &)
 
void processProtectedMethod (RexxString *, RexxMethod *, RexxObject **, size_t, size_t, ProtectedObject &)
 
void sendMessage (RexxString *, RexxArray *, RexxDirectory *, ProtectedObject &)
 
void sendMessage (RexxString *message, RexxObject **args, size_t argCount, size_t named_argCount, ProtectedObject &result)
 
void sendMessage (RexxString *message, ProtectedObject &result)
 
void sendMessage (RexxString *message, RexxObject *argument1, ProtectedObject &result)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, ProtectedObject &)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, ProtectedObject &)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, ProtectedObject &)
 
void sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, ProtectedObject &)
 
RexxObject * sendMessage (RexxString *, RexxArray *, RexxDirectory *=OREF_NULL)
 
RexxObject * sendMessage (RexxString *message, RexxObject **args, size_t argCount, size_t named_argCount)
 
RexxObject * sendMessage (RexxString *message)
 
RexxObject * sendMessage (RexxString *message, RexxObject *argument1)
 
RexxObject * sendMessage (RexxString *, RexxObject *, RexxObject *)
 
RexxObject * sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObject * sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObject * sendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObject * defMethods (RexxDirectory *)
 
void setObjectVariable (RexxString *, RexxObject *, RexxObject *)
 
RexxObject * getObjectVariable (RexxString *)
 
RexxObject * getObjectVariable (RexxString *, RexxObject *)
 
void addObjectVariables (RexxVariableDictionary *)
 
void copyObjectVariables (RexxObject *newObject)
 
RexxObject * superScope (RexxObject *)
 
RexxMethod * superMethod (RexxString *, RexxObject *)
 
RexxObject * mdict ()
 
RexxObject * setMdict (RexxObject *)
 
RexxBehaviour * behaviourObject ()
 
const char * idString ()
 
RexxString * id ()
 
RexxMethod * methodLookup (RexxString *name)
 
RexxVariableDictionary * getObjectVariables (RexxObject *)
 
void guardOn (RexxActivity *activity, RexxObject *scope)
 
void guardOff (RexxActivity *activity, RexxObject *scope)
 
RexxObject * equal (RexxObject *)
 
RexxObject * notEqual (RexxObject *other)
 
RexxObject * strictEqual (RexxObject *)
 
RexxObject * strictNotEqual (RexxObject *other)
 
RexxInteger * identityHashRexx ()
 
RexxObject * hashCode ()
 
RexxString * stringRexx ()
 
RexxString * concatRexx (RexxObject *)
 
RexxString * concatBlank (RexxObject *)
 
RexxObject * makeStringRexx ()
 
RexxObject * makeArrayRexx ()
 
RexxString * defaultNameRexx ()
 
RexxObject * copyRexx ()
 
RexxObject * unknownRexx (RexxString *, RexxArray *, RexxObject **, size_t)
 
RexxObject * hasMethodRexx (RexxString *)
 
void * getCSelf ()
 
void * getCSelf (RexxObject *scope)
 
bool equalValue (RexxObject *other)
 
virtual wholenumber_t compareTo (RexxObject *)
 
 koper (operator_plus) koper(operator_minus) koper(operator_multiply) koper(operator_divide) koper(operator_integerDivide) koper(operator_remainder) koper(operator_power) koper(operator_abuttal) koper(operator_concat) koper(operator_concatBlank) koper(operator_equal) koper(operator_notEqual) koper(operator_isGreaterThan) koper(operator_isBackslashGreaterThan) koper(operator_isLessThan) koper(operator_isBackslashLessThan) koper(operator_isGreaterOrEqual) koper(operator_isLessOrEqual) koper(operator_strictEqual) koper(operator_strictNotEqual) koper(operator_strictGreaterThan) koper(operator_strictBackslashGreaterThan) koper(operator_strictLessThan) koper(operator_strictBackslashLessThan) koper(operator_strictGreaterOrEqual) koper(operator_strictLessOrEqual) koper(operator_lessThanGreaterThan) koper(operator_greaterThanLessThan) koper(operator_and) koper(operator_or) koper(operator_xor) koper(operator_not) RexxVariableDictionary *objectVariables
 
- Public Member Functions inherited from RexxInternalObject
void * operator new (size_t, RexxClass *)
 
void * operator new (size_t, RexxClass *, RexxObject **, size_t, size_t)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *)
 
void operator delete (void *p, void *ptr)
 
 RexxInternalObject ()
 
 RexxInternalObject (RESTORETYPE restoreType)
 
virtual ~RexxInternalObject ()
 
 operator RexxObject * ()
 
size_t getObjectSize ()
 
void setObjectSize (size_t s)
 
size_t getObjectDataSize ()
 
void * getObjectDataSpace ()
 
void clearObject ()
 
void clearObject (size_t l)
 
void setVirtualFunctions (void *t)
 
void setInitHeader (size_t s, size_t markword)
 
void setInitHeader (size_t markword)
 
void setObjectLive (size_t markword)
 
void setHasReferences ()
 
void setHasNoReferences ()
 
bool hasReferences ()
 
bool hasNoReferences ()
 
void setPrimitive ()
 
void setNonPrimitive ()
 
bool isPrimitive ()
 
bool isNonPrimitive ()
 
void setInRexxPackage ()
 
bool isInRexxPackage ()
 
bool isObjectMarked (size_t markword)
 
void setObjectMark (size_t markword)
 
void clearObjectMark ()
 
bool isObjectLive (size_t mark)
 
bool isObjectDead (size_t mark)
 
bool isOldSpace ()
 
bool isNewSpace ()
 
void setNewSpace ()
 
void setOldSpace ()
 
void makeProxiedObject ()
 
bool isProxyObject ()
 
bool isSubClassOrEnhanced ()
 
bool isBaseClass ()
 
size_t getObjectTypeNumber ()
 
RexxBehaviour * getObjectType ()
 
bool isObjectType (RexxBehaviour *b)
 
bool isObjectType (size_t t)
 
bool isSameType (RexxInternalObject *o)
 
void setBehaviour (RexxBehaviour *b)
 
virtual RexxObject * evaluate (RexxActivation *, RexxExpressionStack *)
 
virtual RexxObject * getValue (RexxActivation *)
 
virtual RexxObject * getValue (RexxVariableDictionary *)
 
virtual RexxObject * getRealValue (RexxActivation *)
 
virtual RexxObject * getRealValue (RexxVariableDictionary *)
 
virtual HashCode getHashValue ()
 
HashCode identityHash ()
 
virtual RexxString * primitiveMakeString ()
 
virtual RexxText * primitiveMakeText ()
 
virtual RexxObject * dynamicTarget (RexxObject **arguments, size_t count, size_t named_count)
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObject * clone ()
 

Public Attributes

RexxHashTable * contents
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviour * behaviour
 

Additional Inherited Members

- Static Public Member Functions inherited from RexxObject
static void decodeMessageName (RexxObject *target, RexxObject *message, RexxString *&messageName, RexxObject *&startScope)
 
static void createInstance ()
 
- Static Public Member Functions inherited from RexxInternalObject
static size_t getObjectHeaderSize ()
 
- Static Public Attributes inherited from RexxObject
static PCPPM operatorMethods []
 
static RexxClass * classInstance = OREF_NULL
 
- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Detailed Description

Definition at line 49 of file RexxCollection.hpp.

Member Function Documentation

◆ add()

RexxObject * RexxHashTableCollection::add ( RexxObject *  _value,
RexxObject *  _index 
)
virtual

Reimplemented in RexxIdentityTable.

Definition at line 305 of file RexxCollection.cpp.

References RexxHashTable::add(), contents, OREF_NULL, and OrefSet.

Referenced by addRexx().

◆ addRexx()

RexxObject * RexxHashTableCollection::addRexx ( RexxObject *  _value,
RexxObject *  _index 
)

Definition at line 291 of file RexxCollection.cpp.

References add(), ARG_ONE, ARG_TWO, and requiredArgument().

◆ allAt()

RexxObject * RexxHashTableCollection::allAt ( RexxObject *  _index)

Definition at line 196 of file RexxCollection.cpp.

References ARG_ONE, contents, RexxHashTable::getAll(), and requiredArgument().

Referenced by RexxMemory::createImage().

◆ allIndexes()

RexxArray * RexxHashTableCollection::allIndexes ( void  )

◆ allItems()

RexxArray * RexxHashTableCollection::allItems ( )

Definition at line 485 of file RexxCollection.cpp.

References RexxHashTable::allItems(), and contents.

Referenced by RexxMemory::createImage().

◆ available()

◆ copy()

◆ copyValues()

RexxObject * RexxHashTableCollection::copyValues ( int  depth)

◆ empty()

RexxObject * RexxHashTableCollection::empty ( )

Empty a hash table collection.

Returns
nothing

Definition at line 517 of file RexxCollection.cpp.

References contents, RexxHashTable::empty(), and OREF_NULL.

Referenced by RexxMemory::createImage(), RexxMemory::lastChanceUninit(), RexxDirectory::reset(), and InterpreterInstance::terminate().

◆ first()

◆ flatten()

void RexxHashTableCollection::flatten ( RexxEnvelope *  envelope)
virtual

Reimplemented from RexxObject.

Reimplemented in RexxDirectory.

Definition at line 70 of file RexxCollection.cpp.

References cleanUpFlatten, flatten_reference, and setUpFlatten.

◆ get()

RexxObject * RexxHashTableCollection::get ( RexxObject *  key)
virtual

Retrieve an item from a hash collection using a key. This is the base virtual implementation, which uses equality semantics for the retrieveal. Other implementations may override this.

Parameters
keyThe target key.
Returns
The retrieved object. Returns OREF_NULL if the object was not found.

Reimplemented in RexxIdentityTable.

Definition at line 242 of file RexxCollection.cpp.

References contents, and RexxHashTable::get().

Referenced by ClassDirective::checkDuplicateMethod(), ExtensionDirective::checkDuplicateMethod(), PackageManager::checkRequiresCache(), InterpreterInstance::getRequiresFile(), getRexx(), and hasIndexRexx().

◆ getIndex()

RexxObject * RexxHashTableCollection::getIndex ( RexxObject *  target)
virtual

Retrieve an index for a given item. Which index is returned is indeterminate.

Parameters
targetThe target object.
Returns
The index for the target object, or .nil if no object was found.

Reimplemented in RexxIdentityTable.

Definition at line 412 of file RexxCollection.cpp.

References contents, and RexxHashTable::getIndex().

Referenced by indexRexx().

◆ getRexx()

RexxObject * RexxHashTableCollection::getRexx ( RexxObject *  _index)

Exported get() accessor for a hash table collection. This delegates to a virtual method defined by the target collection.

Parameters
_indexThe target index.
Returns
The fetched object, or .nil if the index does not exist in the collection.

Definition at line 219 of file RexxCollection.cpp.

References ARG_ONE, get(), OREF_NULL, requiredArgument(), and TheNilObject.

Referenced by RexxMemory::createImage().

◆ hasIndexRexx()

RexxObject * RexxHashTableCollection::hasIndexRexx ( RexxObject *  _index)

Test for the existence of an index in the collection. This uses the get() virtual function to determine if the item exists.

Parameters
_indexThe target index.
Returns
True if the index exists, false if the index does not exist.

Definition at line 369 of file RexxCollection.cpp.

References ARG_ONE, get(), OREF_NULL, requiredArgument(), TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ hasItem()

RexxObject * RexxHashTableCollection::hasItem ( RexxObject *  target)
virtual

Test if a given item exists in the collection.

Parameters
targetThe target object.
Returns
.true if the object exists, .false otherwise.

Reimplemented in RexxDirectory, and RexxIdentityTable.

Definition at line 470 of file RexxCollection.cpp.

References contents, and RexxHashTable::hasItem().

Referenced by hasItemRexx().

◆ hasItemRexx()

RexxObject * RexxHashTableCollection::hasItemRexx ( RexxObject *  target)

Test if a given item exists in the collection.

Parameters
targetThe target object.
Returns
.true if the object exists, .false otherwise.

Definition at line 456 of file RexxCollection.cpp.

References ARG_ONE, hasItem(), and requiredArgument().

Referenced by RexxMemory::createImage().

◆ index()

◆ indexRexx()

RexxObject * RexxHashTableCollection::indexRexx ( RexxObject *  target)

Retrieve an index for a given item. Which index is returned is indeterminate.

Parameters
targetThe target object.
Returns
The index for the target object, or .nil if no object was found.

Definition at line 388 of file RexxCollection.cpp.

References ARG_ONE, getIndex(), OREF_NULL, requiredArgument(), and TheNilObject.

Referenced by RexxMemory::createImage().

◆ isEmpty()

RexxObject * RexxHashTableCollection::isEmpty ( )

Test if a HashTableCollection is empty.

Returns

Definition at line 529 of file RexxCollection.cpp.

References contents, RexxHashTable::isEmpty(), TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ items()

HashLink RexxHashTableCollection::items ( void  )
inline

◆ live()

void RexxHashTableCollection::live ( size_t  liveMark)
virtual

Reimplemented from RexxObject.

Reimplemented in RexxDirectory.

Definition at line 52 of file RexxCollection.cpp.

References contents, and memory_mark.

Referenced by RexxDirectory::live().

◆ liveGeneral()

void RexxHashTableCollection::liveGeneral ( int  reason)
virtual

Reimplemented from RexxObject.

Reimplemented in RexxDirectory.

Definition at line 61 of file RexxCollection.cpp.

References contents, and memory_mark_general.

Referenced by RexxDirectory::liveGeneral().

◆ makeArray()

RexxArray * RexxHashTableCollection::makeArray ( void  )
virtual

Reimplemented from RexxObject.

Reimplemented in RexxDirectory.

Definition at line 132 of file RexxCollection.cpp.

References contents, and RexxHashTable::makeArray().

Referenced by RexxSource::getGuard(), and RexxTable::requestArray().

◆ makeProxy()

RexxObject * RexxHashTableCollection::makeProxy ( RexxEnvelope *  envelope)
virtual

Reimplemented from RexxInternalObject.

Definition at line 92 of file RexxCollection.cpp.

References Interpreter::logicError(), new_proxy(), OREF_NULL, TheEnvironment, TheKernel, and TheSystem.

◆ merge()

RexxObject * RexxHashTableCollection::merge ( RexxHashTableCollection *  target)

◆ mergeItem()

RexxObject * RexxHashTableCollection::mergeItem ( RexxObject *  _value,
RexxObject *  _index 
)
virtual

Reimplemented in RexxDirectory.

Definition at line 140 of file RexxCollection.cpp.

References contents, OREF_NULL, OrefSet, and RexxHashTable::putNodupe().

Referenced by RexxHashTable::merge().

◆ next()

◆ put()

RexxObject * RexxHashTableCollection::put ( RexxObject *  _value,
RexxObject *  _index 
)
virtual

Place an item into a hash collection using a key. This is the base virtual implementation, which uses equality semantics for the retrieveal. Other implementations may override this.

Parameters
_valueThe inserted value.
_indexThe insertion key.
Returns
The retrieved object. Returns OREF_NULL if the object was not found.

Reimplemented in RexxIdentityTable, and RexxRelation.

Definition at line 279 of file RexxCollection.cpp.

References contents, OREF_NULL, OrefSet, and RexxHashTable::put().

Referenced by ClassDirective::addMethod(), ExtensionDirective::addMethod(), putRexx(), RexxDirectory::supplier(), and RexxHashTable::uniqueIndexes().

◆ putRexx()

RexxObject * RexxHashTableCollection::putRexx ( RexxObject *  _value,
RexxObject *  _index 
)

Exported Rexx method for adding an item to a collection. The put operation is delegated to the implementing class virtual function.

Parameters
_valueThe value to add.
_indexThe index for the added item.
Returns
Always returns OREF_NULL.

Definition at line 258 of file RexxCollection.cpp.

References ARG_ONE, ARG_TWO, put(), and requiredArgument().

Referenced by RexxMemory::createImage().

◆ remove()

RexxObject * RexxHashTableCollection::remove ( RexxObject *  _index)
virtual

Base virtual function for a table remove operation. This applies object equality semantics to the operation.

Parameters
_indexThe object index.
Returns
The removed object.

Reimplemented in RexxIdentityTable.

Definition at line 190 of file RexxCollection.cpp.

References contents, and RexxHashTable::remove().

Referenced by RexxBehaviour::addMethod(), RexxBehaviour::deleteMethod(), RexxClass::deleteMethod(), RexxDirectory::put(), RexxDirectory::remove(), RexxBehaviour::removeMethod(), removeRexx(), RexxActivity::removeRunningRequires(), RexxDirectory::setEntry(), and RexxDirectory::setMethod().

◆ removeItem()

RexxObject * RexxHashTableCollection::removeItem ( RexxObject *  target)
virtual

Remove an item specified by value.

Parameters
targetThe target object.
Returns
The target object again.

Reimplemented in RexxDirectory, and RexxIdentityTable.

Definition at line 442 of file RexxCollection.cpp.

References contents, and RexxHashTable::removeItem().

Referenced by removeItemRexx().

◆ removeItemRexx()

RexxObject * RexxHashTableCollection::removeItemRexx ( RexxObject *  target)

Exported method to remove an item specified by value.

Parameters
targetThe target object.
Returns
The target object again.

Definition at line 426 of file RexxCollection.cpp.

References ARG_ONE, removeItem(), and requiredArgument().

Referenced by RexxMemory::createImage().

◆ removeRexx()

RexxObject * RexxHashTableCollection::removeRexx ( RexxObject *  _index)

The exported remove() method for hash collection classes. This is the Rexx stub method. The removal operation is delegated to the virtual method defined by the implementing class.

Parameters
_indexThe target removal index.
Returns
The removed object, or .nil if the index was not found.

Definition at line 168 of file RexxCollection.cpp.

References ARG_ONE, OREF_NULL, remove(), requiredArgument(), and TheNilObject.

Referenced by RexxMemory::createImage().

◆ supplier()

RexxSupplier * RexxHashTableCollection::supplier ( void  )

◆ unflatten()

RexxObject * RexxHashTableCollection::unflatten ( RexxEnvelope *  envelope)
virtual

Reimplemented from RexxVirtualBase.

Reimplemented in RexxDirectory.

Definition at line 83 of file RexxCollection.cpp.

References RexxEnvelope::addTable().

◆ uniqueIndexes()

RexxArray * RexxHashTableCollection::uniqueIndexes ( )

Return the unique indexes in a hash collection.

Returns
The set of uniqueIndexes

Definition at line 506 of file RexxCollection.cpp.

References contents, and RexxHashTable::uniqueIndexes().

Referenced by RexxMemory::createImage().

◆ value()

Member Data Documentation

◆ contents

RexxHashTable* RexxHashTableCollection::contents

Definition at line 93 of file RexxCollection.hpp.

Referenced by RexxIdentityTable::add(), add(), RexxTable::addOffset(), RexxRelation::allAt(), allAt(), RexxIdentityTable::allAt(), RexxTable::allAt(), RexxRelation::allIndex(), RexxDirectory::allIndexes(), allIndexes(), RexxDirectory::allIndexesItems(), RexxDirectory::allItems(), allItems(), RexxDirectory::appendAllIndexesItemsTo(), RexxDirectory::at(), available(), copy(), copyValues(), empty(), RexxDirectory::fastAt(), RexxIdentityTable::findSuperScope(), first(), RexxIdentityTable::get(), get(), RexxIdentityTable::getIndex(), getIndex(), RexxDirectory::hasEntry(), RexxDirectory::hasIndex(), hasItem(), RexxRelation::hasItem(), RexxIdentityTable::hasItem(), index(), RexxDirectory::indexRexx(), isEmpty(), RexxDirectory::items(), items(), RexxTable::itemsRexx(), RexxRelation::itemsRexx(), live(), liveGeneral(), makeArray(), merge(), mergeItem(), RexxHashTable::newInstance(), next(), RexxEnvelope::pack(), RexxDirectory::pushAllIndexesItemsTo(), RexxIdentityTable::put(), RexxRelation::put(), put(), RexxDirectory::put(), RexxTable::putNodupe(), RexxTable::reHash(), RexxIdentityTable::remove(), remove(), RexxDirectory::remove(), RexxRelation::removeAll(), RexxRelation::removeItem(), RexxIdentityTable::removeItem(), removeItem(), RexxRelation::removeItemRexx(), RexxTable::replace(), RexxDirectory::reset(), RexxTable::reset(), RexxDirectory::setEntry(), RexxDirectory::setMethod(), RexxTable::stringAdd(), RexxTable::stringGet(), RexxTable::stringGetAll(), RexxTable::stringPut(), RexxDirectory::supplier(), supplier(), RexxRelation::supplier(), uniqueIndexes(), and value().


The documentation for this class was generated from the following files: