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 ()
 
RexxObjectput (RexxObject *, RexxObject *)
 
RexxObjectremoveItemRexx (RexxObject *, RexxObject *)
 
RexxObjecthasItem (RexxObject *, RexxObject *)
 
RexxObjectallAt (RexxObject *)
 
RexxObjectallIndex (RexxObject *)
 
RexxObjectremoveAll (RexxObject *)
 
RexxObjectitemsRexx (RexxObject *)
 
RexxSuppliersupplier (RexxObject *)
 
RexxObjectremoveItem (RexxObject *, RexxObject *)
 
RexxObjectnewRexx (RexxObject **, size_t, size_t)
 
- Public Member Functions inherited from RexxTable
 RexxTable ()
 
void * operator new (size_t size, void *objectPtr)
 
 RexxTable (RESTORETYPE restoreType)
 
RexxObjectitemsRexx ()
 
void reset ()
 
RexxObjectputNodupe (RexxObject *, RexxObject *)
 
RexxObjectstringPut (RexxObject *, RexxString *)
 
RexxObjectstringAdd (RexxObject *, RexxString *)
 
RexxObjectaddOffset (size_t, RexxObject *)
 
RexxObjectreplace (RexxObject *newValue, HashLink pos)
 
RexxArrayallAt (RexxObject *key)
 
void reHash ()
 
RexxArrayrequestArray ()
 
RexxArraystringGetAll (RexxString *key)
 
RexxObjectstringGet (RexxString *key)
 
RexxObjectnewRexx (RexxObject **, size_t, size_t)
 
- Public Member Functions inherited from RexxHashTableCollection
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
RexxObjectunflatten (RexxEnvelope *)
 
RexxObjectmakeProxy (RexxEnvelope *)
 
RexxObjectcopy ()
 
RexxArraymakeArray ()
 
virtual RexxObjectmergeItem (RexxObject *, RexxObject *)
 
virtual RexxObjectremove (RexxObject *key)
 
virtual RexxObjectget (RexxObject *key)
 
virtual RexxObjectadd (RexxObject *, RexxObject *)
 
virtual RexxObjectremoveItem (RexxObject *value)
 
virtual RexxObjecthasItem (RexxObject *)
 
virtual RexxObjectgetIndex (RexxObject *value)
 
RexxObjectcopyValues (int depth)
 
RexxObjectremoveRexx (RexxObject *)
 
RexxObjectgetRexx (RexxObject *)
 
RexxObjectputRexx (RexxObject *, RexxObject *)
 
RexxObjectaddRexx (RexxObject *, RexxObject *)
 
RexxObjecthasIndexRexx (RexxObject *)
 
RexxObjecthasItemRexx (RexxObject *)
 
RexxObjectremoveItemRexx (RexxObject *value)
 
RexxObjectallAt (RexxObject *)
 
RexxObjectindexRexx (RexxObject *value)
 
RexxSuppliersupplier ()
 
RexxObjectmerge (RexxHashTableCollection *)
 
RexxArrayallItems ()
 
RexxArrayallIndexes ()
 
RexxArrayuniqueIndexes ()
 
RexxObjectempty ()
 
RexxObjectisEmpty ()
 
HashLink items ()
 
HashLink first ()
 
HashLink next (HashLink pos)
 
RexxObjectvalue (HashLink pos)
 
RexxObjectindex (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)
 
RexxObjectnewRexx (RexxObject **arguments, size_t argCount, size_t named_argCount)
 
RexxObjectnewObject ()
 
 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 RexxObjectdefMethod (RexxString *, RexxMethod *, RexxString *a=OREF_NULL)
 
virtual RexxStringdefaultName ()
 
virtual RexxObjectunknown (RexxString *msg, RexxArray *args, RexxDirectory *named_args)
 
virtual RexxIntegerhasMethod (RexxString *msg)
 
bool hasUninitMethod ()
 
RexxObjectinit ()
 
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)
 
RexxNumberStringnumberString ()
 
RexxIntegerintegerValue (size_t)
 
RexxStringmakeString ()
 
RexxTextmakeText ()
 
void copyIntoTail (RexxCompoundTail *buffer)
 
RexxStringstringValue ()
 
RexxTexttextValue ()
 
RexxStringrequestString ()
 
RexxStringrequestStringNoNOSTRING ()
 
RexxTextrequestText ()
 
RexxIntegerrequestInteger (size_t)
 
bool requestNumber (wholenumber_t &, size_t)
 
bool requestUnsignedNumber (stringsize_t &, size_t)
 
RexxArrayrequestArray ()
 
RexxDirectoryrequestDirectory ()
 
RexxStringrequiredString (RexxString *kind, size_t)
 
RexxStringrequiredString (RexxString *kind, const char *)
 
RexxStringrequiredString ()
 
RexxIntegerrequiredInteger (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 *)
 
RexxObjectisInstanceOfRexx (RexxClass *)
 
RexxObjectisNilRexx ()
 
RexxMethodinstanceMethod (RexxString *)
 
RexxSupplierinstanceMethods (RexxClass *)
 
RexxMethodinstanceMethodRexx (RexxString *)
 
RexxSupplierinstanceMethodsRexx (RexxClass *)
 
RexxObjectdynamicTargetRexx (RexxObject **arguments, size_t argCount, size_t named_argCount)
 
RexxStringobjectName ()
 
RexxObjectobjectNameEquals (RexxObject *)
 
RexxClassclassObject ()
 
RexxObjectsetMethod (RexxString *, RexxMethod *, RexxString *a=OREF_NULL)
 
RexxObjectunsetMethod (RexxString *)
 
RexxObjectrequestRexx (RexxString *)
 
RexxMessagestart (RexxObject **, size_t, size_t)
 
RexxMessagestartWith (RexxObject *, RexxArray *, RexxObject **, size_t)
 
RexxObjectsend (RexxObject **, size_t, size_t)
 
RexxObjectsendWith (RexxObject *, RexxArray *, RexxObject **, size_t)
 
RexxMessagestartCommon (RexxObject *message, RexxObject **arguments, size_t argCount, size_t named_argCount)
 
RexxStringoref ()
 
RexxObjectpmdict ()
 
RexxObjectrun (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)
 
RexxMethodcheckPrivate (RexxMethod *, RexxErrorCodes &)
 
RexxMethodcheckPackage (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 &)
 
RexxObjectsendMessage (RexxString *, RexxArray *, RexxDirectory *=OREF_NULL)
 
RexxObjectsendMessage (RexxString *message, RexxObject **args, size_t argCount, size_t named_argCount)
 
RexxObjectsendMessage (RexxString *message)
 
RexxObjectsendMessage (RexxString *message, RexxObject *argument1)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObjectsendMessage (RexxString *, RexxObject *, RexxObject *, RexxObject *, RexxObject *, RexxObject *)
 
RexxObjectdefMethods (RexxDirectory *)
 
void setObjectVariable (RexxString *, RexxObject *, RexxObject *)
 
RexxObjectgetObjectVariable (RexxString *)
 
RexxObjectgetObjectVariable (RexxString *, RexxObject *)
 
void addObjectVariables (RexxVariableDictionary *)
 
void copyObjectVariables (RexxObject *newObject)
 
RexxObjectsuperScope (RexxObject *)
 
RexxMethodsuperMethod (RexxString *, RexxObject *)
 
RexxObjectmdict ()
 
RexxObjectsetMdict (RexxObject *)
 
RexxBehaviourbehaviourObject ()
 
const char * idString ()
 
RexxStringid ()
 
RexxMethodmethodLookup (RexxString *name)
 
RexxVariableDictionarygetObjectVariables (RexxObject *)
 
void guardOn (RexxActivity *activity, RexxObject *scope)
 
void guardOff (RexxActivity *activity, RexxObject *scope)
 
RexxObjectequal (RexxObject *)
 
RexxObjectnotEqual (RexxObject *other)
 
RexxObjectstrictEqual (RexxObject *)
 
RexxObjectstrictNotEqual (RexxObject *other)
 
RexxIntegeridentityHashRexx ()
 
RexxObjecthashCode ()
 
RexxStringstringRexx ()
 
RexxStringconcatRexx (RexxObject *)
 
RexxStringconcatBlank (RexxObject *)
 
RexxObjectmakeStringRexx ()
 
RexxObjectmakeArrayRexx ()
 
RexxStringdefaultNameRexx ()
 
RexxObjectcopyRexx ()
 
RexxObjectunknownRexx (RexxString *, RexxArray *, RexxObject **, size_t)
 
RexxObjecthasMethodRexx (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 ()
 
RexxBehaviourgetObjectType ()
 
bool isObjectType (RexxBehaviour *b)
 
bool isObjectType (size_t t)
 
bool isSameType (RexxInternalObject *o)
 
void setBehaviour (RexxBehaviour *b)
 
virtual RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
 
virtual RexxObjectgetValue (RexxActivation *)
 
virtual RexxObjectgetValue (RexxVariableDictionary *)
 
virtual RexxObjectgetRealValue (RexxActivation *)
 
virtual RexxObjectgetRealValue (RexxVariableDictionary *)
 
virtual HashCode getHashValue ()
 
HashCode identityHash ()
 
virtual RexxStringprimitiveMakeString ()
 
virtual RexxTextprimitiveMakeText ()
 
virtual RexxObjectdynamicTarget (RexxObject **arguments, size_t count, size_t named_count)
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObjectclone ()
 

Static Public Member Functions

static RexxRelationnewInstance ()
 
static void createInstance ()
 
- Static Public Member Functions inherited from RexxTable
static RexxTablenewInstance ()
 
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 RexxClassclassInstance = OREF_NULL
 
- Static Public Attributes inherited from RexxTable
static RexxClassclassInstance = OREF_NULL
 
- Static Public Attributes inherited from RexxObject
static PCPPM operatorMethods []
 
static RexxClassclassInstance = OREF_NULL
 

Additional Inherited Members

- Public Attributes inherited from RexxHashTableCollection
RexxHashTablecontents
 
- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviourbehaviour
 
- 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: