RexxRelation Class Reference

#include <RelationClass.hpp>

Inheritance diagram for RexxRelation:
[legend]

Public Member Functions

void * operator new (size_t)
 
void * operator new (size_t size, void *objectPtr)
 
 RexxRelation (RESTORETYPE restoreType)
 
 RexxRelation ()
 
RexxObject * put (RexxObject *, RexxObject *)
 
RexxObject * removeItemRexx (RexxObject *, RexxObject *)
 
RexxObject * hasItem (RexxObject *, RexxObject *)
 
RexxObject * allAt (RexxObject *)
 
RexxObject * allIndex (RexxObject *)
 
RexxObject * removeAll (RexxObject *)
 
RexxObject * itemsRexx (RexxObject *)
 
RexxSupplier * supplier (RexxObject *)
 
RexxObject * removeItem (RexxObject *, RexxObject *)
 
RexxObject * newRexx (RexxObject **, size_t, size_t)
 
- Public Member Functions inherited from RexxTable
 RexxTable ()
 
void * operator new (size_t size, void *objectPtr)
 
 RexxTable (RESTORETYPE restoreType)
 
RexxObject * itemsRexx ()
 
void reset ()
 
RexxObject * putNodupe (RexxObject *, RexxObject *)
 
RexxObject * stringPut (RexxObject *, RexxString *)
 
RexxObject * stringAdd (RexxObject *, RexxString *)
 
RexxObject * addOffset (size_t, RexxObject *)
 
RexxObject * replace (RexxObject *newValue, HashLink pos)
 
RexxArray * allAt (RexxObject *key)
 
void reHash ()
 
RexxArray * requestArray ()
 
RexxArray * stringGetAll (RexxString *key)
 
RexxObject * stringGet (RexxString *key)
 
RexxObject * newRexx (RexxObject **, size_t, size_t)
 
- Public Member Functions inherited from RexxHashTableCollection
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 * 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 ()
 

Static Public Member Functions

static RexxRelation * newInstance ()
 
static void createInstance ()
 
- Static Public Member Functions inherited from RexxTable
static RexxTable * newInstance ()
 
static void createInstance ()
 
- 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

static RexxClass * classInstance = OREF_NULL
 
- Static Public Attributes inherited from RexxTable
static RexxClass * classInstance = OREF_NULL
 
- Static Public Attributes inherited from RexxObject
static PCPPM operatorMethods []
 
static RexxClass * classInstance = OREF_NULL
 

Additional Inherited Members

- Public Attributes inherited from RexxHashTableCollection
RexxHashTable * contents
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviour * behaviour
 
- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Detailed Description

Definition at line 49 of file RelationClass.hpp.

Constructor & Destructor Documentation

◆ RexxRelation() [1/2]

RexxRelation::RexxRelation ( RESTORETYPE  restoreType)
inline

Definition at line 53 of file RelationClass.hpp.

◆ RexxRelation() [2/2]

RexxRelation::RexxRelation ( )
inline

Definition at line 54 of file RelationClass.hpp.

Member Function Documentation

◆ allAt()

RexxObject * RexxRelation::allAt ( RexxObject *  _index)

◆ allIndex()

RexxObject * RexxRelation::allIndex ( RexxObject *  _value)

◆ createInstance()

void RexxRelation::createInstance ( )
static

Create initial class object at bootstrap time.

Definition at line 58 of file RelationClass.cpp.

References CLASS_CREATE.

Referenced by RexxMemory::createImage().

◆ hasItem()

RexxObject * RexxRelation::hasItem ( RexxObject *  _value,
RexxObject *  _index 
)

◆ itemsRexx()

◆ newInstance()

RexxRelation * RexxRelation::newInstance ( )
static

Definition at line 261 of file RelationClass.cpp.

References RexxHashTable::DEFAULT_HASH_SIZE, new_hashCollection(), and T_Relation.

Referenced by new_relation().

◆ newRexx()

◆ operator new() [1/2]

void* RexxRelation::operator new ( size_t  size,
void *  objectPtr 
)
inline

Definition at line 52 of file RelationClass.hpp.

◆ operator new() [2/2]

void* RexxRelation::operator new ( size_t  )

◆ put()

RexxObject * RexxRelation::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 from RexxHashTableCollection.

Definition at line 209 of file RelationClass.cpp.

References RexxHashTable::add(), ARG_ONE, ARG_TWO, RexxHashTableCollection::contents, OREF_NULL, OrefSet, and requiredArgument().

Referenced by RexxMemory::createImage().

◆ removeAll()

RexxObject * RexxRelation::removeAll ( RexxObject *  _index)

Remove all items with a given index.

Parameters
_indexThe index to remove.
Returns
An array of all removed items. Returns an empty array if the index is not found.

Definition at line 201 of file RelationClass.cpp.

References ARG_ONE, RexxHashTableCollection::contents, RexxHashTable::removeAll(), and requiredArgument().

Referenced by RexxMemory::createImage().

◆ removeItem()

RexxObject * RexxRelation::removeItem ( RexxObject *  _value,
RexxObject *  _index 
)

◆ removeItemRexx()

RexxObject * RexxRelation::removeItemRexx ( RexxObject *  _value,
RexxObject *  _index 
)

◆ supplier()

Member Data Documentation

◆ classInstance

RexxClass * RexxRelation::classInstance = OREF_NULL
static

Definition at line 70 of file RelationClass.hpp.


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