RexxString Class Reference

#include <StringClass.hpp>

Inheritance diagram for RexxString:
[legend]

Public Member Functions

void * operator new (size_t size, void *ptr)
 
 RexxString ()
 
 RexxString (RESTORETYPE restoreType)
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *envelope)
 
RexxObjectunflatten (RexxEnvelope *)
 
virtual HashCode hash ()
 
virtual HashCode getHashValue ()
 
HashCode getStringHash ()
 
HashCode getObjectHashCode ()
 
bool numberValue (wholenumber_t &result, size_t precision)
 
bool numberValue (wholenumber_t &result)
 
bool unsignedNumberValue (uwholenumber_t &result, size_t precision)
 
bool unsignedNumberValue (uwholenumber_t &result)
 
bool doubleValue (double &result)
 
RexxNumberStringnumberString ()
 
RexxIntegerintegerValue (size_t precision)
 
RexxStringmakeString ()
 
RexxArraymakeArray ()
 
RexxStringprimitiveMakeString ()
 
void copyIntoTail (RexxCompoundTail *buffer)
 
RexxStringstringValue ()
 
bool truthValue (int)
 
virtual bool logicalValue (logical_t &)
 
bool isEqual (RexxObject *)
 
bool primitiveIsEqual (RexxObject *)
 
bool primitiveCaselessIsEqual (RexxObject *)
 
wholenumber_t strictComp (RexxObject *, RexxString *alternativeOperator=NULL, RexxInteger **alternativeOperatorResultPtr=NULL)
 
wholenumber_t comp (RexxObject *, RexxString *alternativeOperator=OREF_NULL, RexxInteger **alternativeOperatorResultPtr=NULL)
 
wholenumber_t compareTo (RexxObject *)
 
RexxIntegerequal (RexxObject *)
 
RexxIntegerstrictEqual (RexxObject *)
 
RexxIntegernotEqual (RexxObject *)
 
RexxIntegerstrictNotEqual (RexxObject *)
 
RexxIntegerisGreaterThan (RexxObject *)
 
RexxIntegerisLessThan (RexxObject *)
 
RexxIntegerisGreaterOrEqual (RexxObject *)
 
RexxIntegerisLessOrEqual (RexxObject *)
 
RexxIntegerstrictGreaterThan (RexxObject *)
 
RexxIntegerstrictLessThan (RexxObject *)
 
RexxIntegerstrictGreaterOrEqual (RexxObject *)
 
RexxIntegerstrictLessOrEqual (RexxObject *)
 
sizeB_t copyData (sizeB_t, char *, sizeB_t)
 
RexxObjectlengthRexx ()
 
RexxStringconcatRexx (RexxObject *)
 
RexxStringconcat (RexxString *)
 
RexxStringconcatToCstring (const char *)
 
RexxStringconcatWithCstring (const char *)
 
RexxStringconcatBlank (RexxObject *)
 
bool checkLower ()
 
bool checkIsASCII ()
 
RexxIntegerisASCIIRexx ()
 
RexxStringupper ()
 
RexxStringupper (sizeC_t, sizeC_t)
 
RexxStringupperRexx (RexxInteger *, RexxInteger *)
 
RexxStringlower ()
 
RexxStringlower (sizeC_t, sizeC_t)
 
RexxStringlowerRexx (RexxInteger *, RexxInteger *)
 
RexxStringstringTrace ()
 
void setNumberString (RexxObject *)
 
RexxStringconcatWith (RexxString *, char)
 
RexxObjectplus (RexxObject *right)
 
RexxObjectminus (RexxObject *right)
 
RexxObjectmultiply (RexxObject *right)
 
RexxObjectdivide (RexxObject *right)
 
RexxObjectintegerDivide (RexxObject *right)
 
RexxObjectremainder (RexxObject *right)
 
RexxObjectpower (RexxObject *right)
 
RexxObjectabs ()
 
RexxObjectsign ()
 
RexxObjectnotOp ()
 
RexxObjectoperatorNot (RexxObject *)
 
RexxObjectandOp (RexxObject *)
 
RexxObjectorOp (RexxObject *)
 
RexxObjectxorOp (RexxObject *)
 
RexxObjectMax (RexxObject **args, size_t argCount, size_t named_argCount)
 
RexxObjectMin (RexxObject **args, size_t argCount, size_t named_argCount)
 
RexxObjecttrunc (RexxInteger *decimals)
 
RexxObjectfloor ()
 
RexxObjectceiling ()
 
RexxObjectround ()
 
RexxObjectformat (RexxObject *Integers, RexxObject *Decimals, RexxObject *MathExp, RexxObject *ExpTrigger)
 
RexxObjectisInteger ()
 
RexxObjectlogicalOperation (RexxObject *, RexxObject *, unsigned int)
 
RexxStringextract (size_t offset, size_t sublength)
 
RexxStringextractB (sizeB_t offset, sizeB_t sublength)
 
RexxStringextractC (sizeC_t offset, sizeC_t sublength)
 
RexxObjectevaluate (RexxActivation *, RexxExpressionStack *)
 
RexxObjectgetValue (RexxActivation *)
 
RexxObjectgetValue (RexxVariableDictionary *)
 
RexxObjectgetRealValue (RexxActivation *)
 
RexxObjectgetRealValue (RexxVariableDictionary *)
 
RexxStringcenter (RexxInteger *, RexxString *)
 
RexxStringdelstr (RexxInteger *, RexxInteger *)
 
RexxStringinsert (RexxString *, RexxInteger *, RexxInteger *, RexxString *)
 
RexxStringleft (RexxInteger *, RexxString *)
 
RexxStringoverlay (RexxString *, RexxInteger *, RexxInteger *, RexxString *)
 
RexxStringreplaceAt (RexxString *, RexxInteger *, RexxInteger *, RexxString *)
 
RexxStringreverse ()
 
RexxStringright (RexxInteger *, RexxString *)
 
RexxStringstrip (RexxString *, RexxString *)
 
RexxStringsubstr (RexxInteger *, RexxInteger *, RexxString *)
 
RexxStringsubchar (RexxInteger *)
 
RexxStringdelWord (RexxInteger *, RexxInteger *)
 
RexxStringspace (RexxInteger *, RexxString *)
 
RexxStringsubWord (RexxInteger *, RexxInteger *)
 
RexxArraysubWords (RexxInteger *, RexxInteger *)
 
RexxStringword (RexxInteger *)
 
RexxIntegerwordIndex (RexxInteger *)
 
RexxIntegerwordLength (RexxInteger *)
 
RexxIntegerwordPos (RexxString *, RexxInteger *)
 
RexxIntegercaselessWordPos (RexxString *, RexxInteger *)
 
RexxIntegerwords ()
 
RexxStringchangeStr (RexxString *, RexxString *, RexxInteger *)
 
RexxStringcaselessChangeStr (RexxString *, RexxString *, RexxInteger *)
 
RexxIntegerabbrev (RexxString *, RexxInteger *)
 
RexxIntegercaselessAbbrev (RexxString *, RexxInteger *)
 
RexxIntegercompare (RexxString *, RexxString *)
 
RexxIntegercaselessCompare (RexxString *, RexxString *)
 
RexxStringcopies (RexxInteger *)
 
RexxObjectdataType (RexxString *)
 
RexxIntegerlastPosRexx (RexxString *, RexxInteger *, RexxInteger *)
 
RexxIntegercaselessLastPosRexx (RexxString *, RexxInteger *, RexxInteger *)
 
sizeC_t lastPos (RexxString *needle, sizeC_t start)
 
sizeC_t caselessLastPos (RexxString *needle, sizeC_t start)
 
const char * caselessLastPos (const char *needle, sizeB_t needleLen, const char *haystack, sizeB_t haystackLen)
 
RexxIntegerposRexx (RexxString *, RexxInteger *, RexxInteger *)
 
RexxIntegercaselessPosRexx (RexxString *, RexxInteger *, RexxInteger *)
 
sizeC_t pos (RexxString *, sizeC_t)
 
sizeC_t caselessPos (RexxString *, sizeC_t)
 
RexxStringtranslate (RexxString *, RexxString *, RexxString *, RexxInteger *, RexxInteger *)
 
RexxIntegerverify (RexxString *, RexxString *, RexxInteger *, RexxInteger *)
 
RexxIntegercountStrRexx (RexxString *)
 
RexxIntegercaselessCountStrRexx (RexxString *)
 
size_t caselessCountStr (RexxString *)
 
RexxStringbitAnd (RexxString *, RexxString *)
 
RexxStringbitOr (RexxString *, RexxString *)
 
RexxStringbitXor (RexxString *, RexxString *)
 
RexxStringb2x ()
 
RexxStringc2d (RexxInteger *)
 
RexxStringc2x ()
 
RexxStringencodeBase64 ()
 
RexxStringdecodeBase64 ()
 
RexxStringd2c (RexxInteger *)
 
RexxStringd2x (RexxInteger *)
 
RexxStringx2b ()
 
RexxStringx2c ()
 
RexxStringx2d (RexxInteger *)
 
RexxStringx2dC2d (RexxInteger *, bool)
 
RexxIntegermatch (RexxInteger *start_, RexxString *other, RexxInteger *offset_, RexxInteger *len_)
 
RexxIntegercaselessMatch (RexxInteger *start_, RexxString *other, RexxInteger *offset_, RexxInteger *len_)
 
bool primitiveMatch (stringsizeC_t start, RexxString *other, stringsizeC_t offset, stringsizeC_t len)
 
bool primitiveCaselessMatch (stringsizeC_t start, RexxString *other, stringsizeC_t offset, stringsizeC_t len)
 
RexxIntegermatchChar (RexxInteger *position_, RexxString *matchSet)
 
RexxIntegercaselessMatchChar (RexxInteger *position_, RexxString *matchSet)
 
RexxIntegercompareToRexx (RexxString *other, RexxInteger *start_, RexxInteger *len_)
 
RexxIntegercaselessCompareToRexx (RexxString *other, RexxInteger *start_, RexxInteger *len_)
 
RexxIntegerprimitiveCompareTo (RexxString *other, stringsizeC_t start, stringsizeC_t len)
 
RexxIntegerprimitiveCaselessCompareTo (RexxString *other, stringsizeC_t start, stringsizeC_t len)
 
RexxIntegerequals (RexxString *other)
 
RexxIntegercaselessEquals (RexxString *other)
 
RexxArraymakeArrayRexx (RexxString *)
 
int isSymbol ()
 
sizeB_t getBLength ()
 
sizeC_t getCLength ()
 
void setBLength (sizeB_t l)
 
void setCLength (sizeC_t l)
 
void finish (stringsizeB_t bl, sizeC_t cl=-1)
 
const char * getStringData ()
 
char * getWritableData ()
 
void put (sizeB_t s, const void *b, sizeB_t l)
 
void put (sizeB_t s, RexxString *o)
 
void set (sizeB_t s, int c, sizeB_t l)
 
char getCharB (sizeB_t p)
 
codepoint_t getCharC (sizeC_t p)
 
char putCharB (sizeB_t p, char c)
 
bool upperOnly ()
 
bool hasLower ()
 
void setUpperOnly ()
 
void setHasLower ()
 
bool nonNumeric ()
 
void setNonNumeric ()
 
bool isASCIIChecked ()
 
void setIsASCIIChecked ()
 
bool isASCII ()
 
void setIsASCII ()
 
bool strCompare (const char *s)
 
bool strCaselessCompare (const char *s)
 
bool memCompare (const char *s, sizeB_t l)
 
bool memCompare (RexxString *other)
 
void memCopy (char *s)
 
void toRxstring (CONSTRXSTRING &r)
 
void toRxstring (RXSTRING &r)
 
void copyToRxstring (RXSTRING &r)
 
bool endsWith (codepoint_t c)
 
RexxNumberStringcreateNumberString ()
 
RexxNumberStringfastNumberString ()
 
int sortCompare (RexxString *other)
 
int sortCaselessCompare (RexxString *other)
 
int sortCompare (RexxString *other, sizeC_t startCol, sizeC_t colLength)
 
int sortCaselessCompare (RexxString *other, sizeC_t startCol, sizeC_t colLength)
 
RexxStringnewRexx (RexxObject **, size_t, size_t)
 
- 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 ()
 
void live (size_t)
 
void liveGeneral (int reason)
 
void flatten (RexxEnvelope *)
 
RexxObjectcopy ()
 
HashCode hash ()
 
bool truthValue (int)
 
RexxNumberStringnumberString ()
 
RexxIntegerintegerValue (size_t)
 
RexxStringmakeString ()
 
RexxStringprimitiveMakeString ()
 
void copyIntoTail (RexxCompoundTail *buffer)
 
RexxArraymakeArray ()
 
RexxStringstringValue ()
 
RexxStringrequestString ()
 
RexxStringrequestStringNoNOSTRING ()
 
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 *)
 
RexxMethodinstanceMethod (RexxString *)
 
RexxSupplierinstanceMethods (RexxClass *)
 
RexxMethodinstanceMethodRexx (RexxString *)
 
RexxSupplierinstanceMethodsRexx (RexxClass *)
 
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 messageSend (RexxString *, RexxObject **, size_t, size_t, RexxObject *, ProtectedObject &, bool processUnknown=true)
 
RexxMethodcheckPrivate (RexxMethod *)
 
void processUnknown (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)
 
 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 ()
 
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 RexxObjectmakeProxy (RexxEnvelope *)
 
HashCode identityHash ()
 
void hasUninit ()
 
void removedUninit ()
 
void printObject ()
 
RexxObjectclone ()
 

Static Public Member Functions

static RexxStringnewString (const char *, sizeB_t bl, sizeC_t cl=-1)
 
static RexxStringrawString (sizeB_t bl, sizeC_t cl=-1)
 
static RexxStringnewUpperString (const char *, stringsizeB_t bl, stringsizeC_t cl=-1)
 
static RexxStringnewString (double d)
 
static RexxStringnewString (double d, size_t precision)
 
static RexxStringnewProxy (const char *)
 
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 PCPPM operatorMethods []
 
static RexxClassclassInstance = OREF_NULL
 
- Static Public Attributes inherited from RexxObject
static PCPPM operatorMethods []
 
static RexxClassclassInstance = OREF_NULL
 

Protected Attributes

HashCode hashValue
 
sizeC_t clength
 
sizeB_t blength
 
RexxNumberStringNumberString
 
size_t Attributes
 
char stringData [4]
 

Additional Inherited Members

- Public Attributes inherited from RexxInternalObject
ObjectHeader header
 
RexxBehaviourbehaviour
 
- Protected Member Functions inherited from RexxVirtualBase
virtual ~RexxVirtualBase ()
 
virtual void baseVirtual ()
 

Detailed Description

Definition at line 121 of file StringClass.hpp.

Constructor & Destructor Documentation

◆ RexxString() [1/2]

RexxString::RexxString ( )
inline

Definition at line 124 of file StringClass.hpp.

Referenced by newString(), newUpperString(), and rawString().

◆ RexxString() [2/2]

RexxString::RexxString ( RESTORETYPE  restoreType)
inline

Definition at line 125 of file StringClass.hpp.

Member Function Documentation

◆ abbrev()

RexxInteger * RexxString::abbrev ( RexxString info,
RexxInteger _length 
)

◆ abs()

◆ andOp()

◆ b2x()

◆ bitAnd()

RexxString * RexxString::bitAnd ( RexxString string2,
RexxString pad 
)

◆ bitOr()

RexxString * RexxString::bitOr ( RexxString string2,
RexxString pad 
)

◆ bitXor()

RexxString * RexxString::bitXor ( RexxString string2,
RexxString pad 
)

◆ c2d()

RexxString * RexxString::c2d ( RexxInteger _length)

Definition at line 602 of file StringClassConversion.cpp.

References x2dC2d().

Referenced by RexxMemory::createImage().

◆ c2x()

RexxString * RexxString::c2x ( )

◆ caselessAbbrev()

◆ caselessChangeStr()

◆ caselessCompare()

RexxInteger * RexxString::caselessCompare ( RexxString other,
RexxString pad 
)

Caseless version of the compare() method.

Parameters
string2The string to compare to.
padThe padding character used for length mismatches.
Returns
0 if the two strings are equal (with padding applied), otherwise it returns the mismatch position.

Definition at line 339 of file StringClassMisc.cpp.

References ARG_ONE, ARG_TWO, getBLength(), getStringData(), IntegerZero, new_integer(), optionalPadArgument(), and stringArgument().

Referenced by RexxMemory::createImage().

◆ caselessCompareToRexx()

RexxInteger * RexxString::caselessCompareToRexx ( RexxString other,
RexxInteger start_,
RexxInteger len_ 
)

Do a sorting comparison of two strings.

Parameters
otherThe other compare string.
start_The starting compare position within the target string.
len_The length of the compare substring.
Returns
True if the two regions match, false for any mismatch.

Definition at line 1181 of file StringClassMisc.cpp.

References ARG_ONE, ARG_THREE, ARG_TWO, getCLength(), Numerics::maxVal(), optionalLengthArgument(), optionalPositionArgument(), primitiveCaselessCompareTo(), and stringArgument().

Referenced by RexxMemory::createImage().

◆ caselessCountStr()

size_t RexxString::caselessCountStr ( RexxString )

◆ caselessCountStrRexx()

RexxInteger * RexxString::caselessCountStrRexx ( RexxString needle)

◆ caselessEquals()

RexxInteger * RexxString::caselessEquals ( RexxString other)

The string equals() method, which does a strict caseless compare with another string object.

Parameters
otherThe other string object.
Returns
True if the strings are equal, false for inequality.

Definition at line 1175 of file StringClass.cpp.

References primitiveCaselessIsEqual(), TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ caselessLastPos() [1/2]

const char* RexxString::caselessLastPos ( const char *  needle,
sizeB_t  needleLen,
const char *  haystack,
sizeB_t  haystackLen 
)

◆ caselessLastPos() [2/2]

sizeC_t RexxString::caselessLastPos ( RexxString needle,
sizeC_t  _start 
)

Primitive implementation of a caseless lastpos search.

Parameters
needleThe search needle.
startThe starting position (origin 1).
Returns
Returns the last match position, searching back from the start position. The starting position is the right-most character of the past possible match (as if the string was truncated at start).

Definition at line 529 of file StringClassMisc.cpp.

References StringUtil::caselessLastPos(), getBLength(), getStringData(), and size_v.

◆ caselessLastPosRexx()

RexxInteger * RexxString::caselessLastPosRexx ( RexxString needle,
RexxInteger _start,
RexxInteger _range 
)

Rexx exported version of the caselessLastPos() method.

Parameters
needleThe search needle.
_startThe starting position.
Returns
The match position. 0 means not found.

Definition at line 487 of file StringClassMisc.cpp.

References ARG_ONE, ARG_THREE, ARG_TWO, StringUtil::caselessLastPos(), getBLength(), getCLength(), getStringData(), new_integer(), optionalLengthArgument(), optionalPositionArgument(), size_v, and stringArgument().

Referenced by RexxMemory::createImage().

◆ caselessMatch()

RexxInteger * RexxString::caselessMatch ( RexxInteger start_,
RexxString other,
RexxInteger offset_,
RexxInteger len_ 
)

Test if regions within two strings match.

Parameters
start_The starting compare position within the target string. This must be within the bounds of the string.
otherThe other compare string.
offset_The starting offset of the compare string. This must be within the string bounds. The default start postion is 1.
len_The length of the compare substring. The length and the offset must specify a valid substring of other. If not specified, this defaults to the substring from the offset to the end of the string.
Returns
True if the two regions match, false for any mismatch.

Definition at line 927 of file StringClassMisc.cpp.

References ARG_FOUR, ARG_ONE, ARG_THREE, ARG_TWO, Error_Incorrect_method_length, Error_Incorrect_method_position, getCLength(), optionalLengthArgument(), optionalPositionArgument(), positionArgument(), primitiveCaselessMatch(), reportException(), size_v, stringArgument(), TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ caselessMatchChar()

RexxInteger * RexxString::caselessMatchChar ( RexxInteger position_,
RexxString matchSet 
)

Compare a single character at a give position against a set of characters to see if any of the characters is a match.

Parameters
position_The character position
matchSetThe set to compare against.
Returns
true if the character at the give position is any of the characters, false if none of them match.

Definition at line 1057 of file StringClassMisc.cpp.

References ARG_ONE, ARG_TWO, Error_Incorrect_method_position, getCharC(), getCLength(), positionArgument(), reportException(), size_v, stringArgument(), TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ caselessPos()

sizeC_t RexxString::caselessPos ( RexxString needle,
sizeC_t  _start 
)

Do a primitive level pos() search on a string.

Parameters
needleThe search needle.
_startThe starting position (origin 0)
Returns
The match position (origin 1). Returns 0 for no match.

Definition at line 758 of file StringClassMisc.cpp.

References StringUtil::caselessPos(), getBLength(), getStringData(), and size_v.

Referenced by caselessChangeStr().

◆ caselessPosRexx()

RexxInteger * RexxString::caselessPosRexx ( RexxString needle,
RexxInteger pstart,
RexxInteger range 
)

Do a caseless search for one string in another.

Parameters
needleThe search string.
pstartThe starting position for the search.
rangeA maximum range for the search.
Returns
The index of any match position, or 0 if not found.

Definition at line 721 of file StringClassMisc.cpp.

References ARG_ONE, ARG_THREE, ARG_TWO, StringUtil::caselessPos(), getBLength(), getCLength(), getStringData(), new_integer(), optionalLengthArgument(), optionalPositionArgument(), size_v, and stringArgument().

Referenced by RexxMemory::createImage().

◆ caselessWordPos()

RexxInteger * RexxString::caselessWordPos ( RexxString phrase,
RexxInteger pstart 
)

Perform a caseless wordpos search on a string object.

Parameters
phraseThe search phrase
pstartThe starting search position.
Returns
The index of the match location.

Definition at line 316 of file StringClassWord.cpp.

References StringUtil::caselessWordPos(), getBLength(), and getStringData().

Referenced by RexxMemory::createImage().

◆ ceiling()

RexxObject * RexxString::ceiling ( )

The String class version of the ceiling method.

Returns
The formatted numeric version.

Definition at line 1102 of file StringClass.cpp.

References RexxNumberString::ceiling(), Error_Incorrect_method_string_nonumber, fastNumberString(), OREF_NULL, and reportException().

Referenced by RexxMemory::createImage().

◆ center()

RexxString * RexxString::center ( RexxInteger _length,
RexxString pad 
)

◆ changeStr()

◆ checkIsASCII()

bool RexxString::checkIsASCII ( )

◆ checkLower()

bool RexxString::checkLower ( )

Definition at line 1732 of file StringClass.cpp.

References getBLength(), getStringData(), setHasLower(), and setUpperOnly().

Referenced by upper().

◆ comp()

◆ compare()

RexxInteger * RexxString::compare ( RexxString string2,
RexxString pad 
)

◆ compareTo()

wholenumber_t RexxString::compareTo ( RexxObject other)
virtual

Wrapper around the compareTo() method for doing sort comparison of strings.

Parameters
otherThe other comparison object
Returns
-1, 0, 1 depending on the comparison result.

Reimplemented from RexxObject.

Definition at line 581 of file StringClass.cpp.

References RexxObject::compareTo(), compareToRexx(), RexxInteger::getValue(), RexxInternalObject::isBaseClass(), and OREF_NULL.

Referenced by RexxInteger::compareTo(), and RexxNumberString::compareTo().

◆ compareToRexx()

RexxInteger * RexxString::compareToRexx ( RexxString other,
RexxInteger start_,
RexxInteger len_ 
)

Do a sorting comparison of two strings.

Parameters
otherThe other compare string.
start_The starting compare position within the target string.
len_The length of the compare substring.
Returns
True if the two regions match, false for any mismatch.

Definition at line 1094 of file StringClassMisc.cpp.

References ARG_ONE, ARG_THREE, ARG_TWO, getCLength(), Numerics::maxVal(), optionalLengthArgument(), optionalPositionArgument(), primitiveCompareTo(), and stringArgument().

Referenced by compareTo(), and RexxMemory::createImage().

◆ concat()

◆ concatBlank()

◆ concatRexx()

◆ concatToCstring()

◆ concatWith()

RexxString * RexxString::concatWith ( RexxString other,
char  between 
)

◆ concatWithCstring()

◆ copies()

◆ copyData()

sizeB_t RexxString::copyData ( sizeB_t  startPos,
char *  buffer,
sizeB_t  bufl 
)

Definition at line 455 of file StringClass.cpp.

References getBLength(), and getStringData().

Referenced by StringGet().

◆ copyIntoTail()

void RexxString::copyIntoTail ( RexxCompoundTail buffer)
virtual

◆ copyToRxstring()

void RexxString::copyToRxstring ( RXSTRING r)

Copy a string to an RXSTRING, with appropriate allocation of a new buffer if required.

Parameters
r

Definition at line 2299 of file StringClass.cpp.

References SystemInterpreter::allocateResultMemory(), getBLength(), getStringData(), size_v, _RXSTRING::strlength, and _RXSTRING::strptr.

◆ countStrRexx()

RexxInteger * RexxString::countStrRexx ( RexxString needle)

◆ createInstance()

void RexxString::createInstance ( )
static

Create initial class object at bootstrap time.

Definition at line 67 of file StringClass.cpp.

References CLASS_CREATE.

Referenced by RexxMemory::createImage().

◆ createNumberString()

◆ d2c()

◆ d2x()

◆ dataType()

RexxObject * RexxString::dataType ( RexxString pType)

◆ decodeBase64()

RexxString * RexxString::decodeBase64 ( )

Reverse the effect of an encodebase64 operation, converting a string in Base64 format into a "normal" character string.

Returns
The converted character string.

Definition at line 128 of file StringClassConversion.cpp.

References Error_Incorrect_method_invbase64, getBLength(), getStringData(), getWritableData(), raw_string(), and reportException().

Referenced by RexxMemory::createImage().

◆ delstr()

RexxString * RexxString::delstr ( RexxInteger position,
RexxInteger _length 
)

◆ delWord()

◆ divide()

◆ doubleValue()

bool RexxString::doubleValue ( double &  result)
virtual

Reimplemented from RexxObject.

Definition at line 335 of file StringClass.cpp.

References RexxNumberString::doubleValue(), fastNumberString(), isnan, OREF_NULL, and strCompare().

Referenced by RexxObject::doubleValue().

◆ encodeBase64()

RexxString * RexxString::encodeBase64 ( )

Convert the character string into the same string with the characters converted into a Base64 encoding.

Returns
The string reformatted into a Base64 encoding.

Definition at line 64 of file StringClassConversion.cpp.

References getBLength(), getStringData(), getWritableData(), and raw_string().

Referenced by RexxMemory::createImage().

◆ endsWith()

bool RexxString::endsWith ( codepoint_t  c)
inline

Definition at line 388 of file StringClass.hpp.

References getCharC(), and getCLength().

Referenced by RexxVariable::isStem().

◆ equal()

RexxInteger * RexxString::equal ( RexxObject other)

Definition at line 1237 of file StringClass.cpp.

References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ equals()

RexxInteger * RexxString::equals ( RexxString other)

The string equals() method, which does a strict compare with another string object.

Parameters
otherThe other string object.
Returns
True if the strings are equal, false for inequality.

Definition at line 1161 of file StringClass.cpp.

References primitiveIsEqual(), TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ evaluate()

RexxObject * RexxString::evaluate ( RexxActivation context,
RexxExpressionStack stack 
)
virtual

◆ extract()

RexxString* RexxString::extract ( size_t  offset,
size_t  sublength 
)
inline

Definition at line 233 of file StringClass.hpp.

References getStringData(), and newString().

◆ extractB()

RexxString* RexxString::extractB ( sizeB_t  offset,
sizeB_t  sublength 
)
inline

◆ extractC()

◆ fastNumberString()

◆ finish()

void RexxString::finish ( stringsizeB_t  bl,
sizeC_t  cl = -1 
)
inline

Definition at line 346 of file StringClass.hpp.

References blength, clength, size_v, and sizeC_v.

Referenced by FinishBufferString(), and rsnprintf().

◆ flatten()

void RexxString::flatten ( RexxEnvelope envelope)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 159 of file StringClass.cpp.

References cleanUpFlatten, flatten_reference, and setUpFlatten.

◆ floor()

RexxObject * RexxString::floor ( )

The String class version of the floor method.

Returns
The formatted numeric version.

Definition at line 1084 of file StringClass.cpp.

References Error_Incorrect_method_string_nonumber, fastNumberString(), RexxNumberString::floor(), OREF_NULL, and reportException().

Referenced by RexxMemory::createImage().

◆ format()

RexxObject * RexxString::format ( RexxObject Integers,
RexxObject Decimals,
RexxObject MathExp,
RexxObject ExpTrigger 
)

◆ getBLength()

sizeB_t RexxString::getBLength ( )
inline

Definition at line 342 of file StringClass.hpp.

References blength.

Referenced by RexxSource::addCompound(), RexxSource::addText(), RexxMutableBuffer::append(), b2x(), bitAnd(), bitOr(), bitXor(), BufferStringLength(), build(), RexxVariableDictionary::buildCompoundVariable(), RexxCompoundTail::buildTail(), BUILTIN(), c2x(), RexxActivity::callCommandExit(), RexxActivity::callFunctionExit(), RexxActivity::callQueueNameExit(), caselessChangeStr(), RexxMutableBuffer::caselessChangeStr(), caselessCompare(), StringUtil::caselessCountStr(), caselessCountStrRexx(), StringUtil::caselessLastPos(), caselessLastPos(), caselessLastPosRexx(), RexxMutableBuffer::caselessMatch(), RexxMutableBuffer::caselessMatchChar(), StringUtil::caselessPos(), caselessPos(), caselessPosRexx(), StringUtil::caselessWordPos(), caselessWordPos(), center(), changeStr(), RexxMutableBuffer::changeStr(), checkIsASCII(), checkLower(), checkPadArgument(), CommandHandlerDispatcher::CommandHandlerDispatcher(), comp(), compare(), RexxCompoundTail::compare(), concat(), concatBlank(), concatRexx(), concatToCstring(), concatWith(), concatWithCstring(), copies(), copyData(), RexxInteger::copyIntoTail(), copyIntoTail(), copyToRxstring(), RexxNativeActivation::copyValue(), StringUtil::countStr(), countStrRexx(), RexxCompoundTail::createCompoundName(), StringUtil::dataType(), RexxActivation::debugPause(), decodeBase64(), delWord(), encodeBase64(), RexxInstructionOptions::execute(), RexxSource::extract(), SysFileSystem::extractDirectory(), SysFileSystem::extractExtension(), SysFileSystem::extractFile(), RexxSource::extractSource(), getObjectHashCode(), SystemInterpreter::getSourceString(), getStringHash(), RexxMutableBuffer::insert(), isEqual(), isInteger(), isSymbol(), StringUtil::lastPos(), lastPos(), lastPosRexx(), left(), RexxVariableReference::list(), RexxMethod::loadExternalMethod(), RoutineClass::loadExternalRoutine(), logicalValue(), lower(), StringUtil::makearray(), makeString(), RexxMutableBuffer::match(), RexxMutableBuffer::matchChar(), Interpreter::messageNumber(), RexxMutableBufferClass::newRexx(), newRexx(), RexxMutableBuffer::overlay(), RexxSource::parseTraceSetting(), StringUtil::pos(), pos(), RexxSource::position(), posRexx(), primitiveCaselessIsEqual(), primitiveIsEqual(), put(), RexxSource::resolveKeyword(), RexxActivation::resolveStream(), reverse(), right(), rsnprintf(), space(), strictComp(), RexxHashTable::stringGet(), RexxHashTable::stringGetAll(), StringLength(), RexxHashTable::stringPut(), stringTrace(), stringValue(), strip(), subchar(), substr(), subWord(), subWords(), toRxstring(), RexxActivation::traceCompoundValue(), RexxActivation::traceEntry(), RexxActivation::traceOperatorValue(), RexxActivation::traceSourceString(), RexxActivation::traceTaggedValue(), RexxActivation::traceValue(), translate(), RexxMutableBuffer::translate(), truthValue(), upper(), SystemInterpreter::validateAddressName(), StringUtil::verify(), verify(), word(), wordIndex(), wordLength(), StringUtil::wordPos(), wordPos(), words(), RexxSource::words(), x2b(), x2c(), and x2dC2d().

◆ getCharB()

◆ getCharC()

◆ getCLength()

◆ getHashValue()

HashCode RexxString::getHashValue ( )
virtual

Get the primitive hash value of this String object.

Returns
The calculated string hash for the string.

Reimplemented from RexxInternalObject.

Definition at line 100 of file StringClass.cpp.

References getStringHash().

Referenced by RexxInteger::getHashValue(), RexxNumberString::getHashValue(), and hash().

◆ getObjectHashCode()

HashCode RexxString::getObjectHashCode ( )

Convert a string returned from an object HashCode() method into a binary hashcode suitable for the hash collections.

Returns
A binary hash code from a string value.

Definition at line 113 of file StringClass.cpp.

References getBLength(), and getStringData().

◆ getRealValue() [1/2]

RexxObject * RexxString::getRealValue ( RexxActivation context)
virtual

Reimplemented from RexxInternalObject.

Definition at line 2333 of file StringClass.cpp.

◆ getRealValue() [2/2]

RexxObject * RexxString::getRealValue ( RexxVariableDictionary context)
virtual

Reimplemented from RexxInternalObject.

Definition at line 2343 of file StringClass.cpp.

◆ getStringData()

const char* RexxString::getStringData ( )
inline

Definition at line 355 of file StringClass.hpp.

References stringData.

Referenced by abbrev(), RexxSource::addClause(), RexxSource::addCompound(), RexxSource::addText(), RexxMutableBuffer::append(), b2x(), bitAnd(), bitOr(), bitXor(), RexxCompoundTail::buildTail(), BUILTIN(), c2x(), RexxActivity::callCommandExit(), RexxActivity::callFunctionExit(), RexxActivation::callMacroSpaceFunction(), RexxActivity::callQueueNameExit(), RexxNativeActivation::callRegisteredRoutine(), caselessAbbrev(), caselessChangeStr(), RexxMutableBuffer::caselessChangeStr(), caselessCompare(), caselessCountStrRexx(), StringUtil::caselessLastPos(), caselessLastPos(), caselessLastPosRexx(), StringUtil::caselessPos(), caselessPos(), caselessPosRexx(), StringUtil::caselessWordPos(), caselessWordPos(), center(), changeStr(), RexxMutableBuffer::changeStr(), NamedArguments::check(), checkIsASCII(), checkLower(), RexxInstructionUseStrict::checkNamedArguments(), CommandHandlerDispatcher::CommandHandlerDispatcher(), comp(), compare(), RexxCompoundTail::compare(), concat(), concatBlank(), concatRexx(), concatWith(), copies(), copyData(), RexxInteger::copyIntoTail(), copyIntoTail(), copyToRxstring(), RexxNativeActivation::copyValue(), countStrRexx(), RexxCompoundTail::createCompoundName(), createNumberString(), StringUtil::dataType(), decodeBase64(), RexxObject::defMethod(), delstr(), delWord(), RexxNumberString::doubleValue(), PackageManager::dropRegisteredRoutine(), dumpClauseImpl(), dumpTokensImpl(), encodeBase64(), RexxSource::errorToken(), RexxInstructionUseStrict::executeNamedArguments(), extract(), extractB(), extractC(), SysFileSystem::extractDirectory(), SysFileSystem::extractExtension(), SysFileSystem::extractFile(), RoutineClass::fromFile(), RexxActivation::getMacroCode(), GetMessageName(), getObjectHashCode(), LibraryPackage::getPackageTable(), GetRoutineName(), SystemInterpreter::getSourceString(), RexxTarget::getWord(), RexxObject::idString(), RexxSource::initFile(), RexxMutableBuffer::insert(), insert(), isEqual(), isInteger(), isSymbol(), StringUtil::lastPos(), lastPos(), lastPosRexx(), left(), RexxMethod::loadExternalMethod(), RoutineClass::loadExternalRoutine(), PackageManager::loadRequires(), lower(), StringUtil::makearray(), RexxClass::makeProxy(), makeString(), Interpreter::messageNumber(), RexxMutableBufferClass::newRexx(), newRexx(), numberString(), ObjectToStringValue(), RexxNativeActivation::objectToValue(), RexxMemory::orphanCheckMark(), RexxMutableBuffer::overlay(), overlay(), RexxNativeActivation::pointerString(), StringUtil::pos(), pos(), RexxSource::position(), posRexx(), primitiveCaselessCompareTo(), primitiveCaselessIsEqual(), RexxMutableBuffer::primitiveCaselessMatch(), primitiveCaselessMatch(), primitiveCompareTo(), primitiveIsEqual(), RexxMutableBuffer::primitiveMatch(), primitiveMatch(), RexxNativeActivation::processArguments(), RoutineClass::processInstore(), ProgramMetaData::ProgramMetaData(), put(), SystemInterpreter::qualifyFileSystemName(), PackageManager::queryRegisteredRoutine(), RexxMutableBuffer::replaceAt(), replaceAt(), InterpreterInstance::resolveCommandHandler(), RexxSource::resolveKeyword(), SysInterpreterInstance::resolveProgramName(), PackageManager::resolveRegisteredRoutineEntry(), PackageManager::resolveRoutine(), RoutineClass::restoreFromMacroSpace(), reverse(), RexxActivation::RexxActivation(), RexxSourceLiteral::RexxSourceLiteral(), right(), rmemcmp(), rmemcpy(), rstrcat(), rstrcmp(), rstrcpy(), RexxMemory::runUninits(), RexxObject::setMethod(), space(), strictComp(), StringData(), RexxHashTable::stringGet(), RexxHashTable::stringGetAll(), RexxHashTable::stringPut(), stringTrace(), stringValue(), strip(), subchar(), substr(), subWord(), subWords(), toRxstring(), RexxArray::toString(), RexxActivation::traceEntry(), RexxActivation::traceSourceString(), RexxActivation::traceValue(), translate(), RexxMutableBuffer::translate(), truthValue(), upper(), SystemInterpreter::valueFunction(), StringUtil::verify(), verify(), word(), wordIndex(), wordLength(), StringUtil::wordPos(), wordPos(), words(), x2b(), and x2c().

◆ getStringHash()

HashCode RexxString::getStringHash ( )
inline

Definition at line 135 of file StringClass.hpp.

References getBLength(), hashValue, stringData, and stringsize_v.

Referenced by getHashValue(), and hash().

◆ getValue() [1/2]

RexxObject * RexxString::getValue ( RexxActivation context)
virtual

Reimplemented from RexxInternalObject.

Definition at line 2313 of file StringClass.cpp.

◆ getValue() [2/2]

RexxObject * RexxString::getValue ( RexxVariableDictionary context)
virtual

Reimplemented from RexxInternalObject.

Definition at line 2323 of file StringClass.cpp.

◆ getWritableData()

◆ hash()

◆ hasLower()

bool RexxString::hasLower ( )
inline

Definition at line 366 of file StringClass.hpp.

References Attributes, and STRING_HASLOWER.

Referenced by upper().

◆ insert()

◆ integerDivide()

◆ integerValue()

◆ isASCII()

bool RexxString::isASCII ( )
inline

Definition at line 373 of file StringClass.hpp.

References Attributes, and STRING_ISASCII.

Referenced by checkIsASCII().

◆ isASCIIChecked()

bool RexxString::isASCIIChecked ( )
inline

Definition at line 371 of file StringClass.hpp.

References Attributes, and STRING_ISASCII_CHECKED.

Referenced by checkIsASCII().

◆ isASCIIRexx()

RexxInteger * RexxString::isASCIIRexx ( )

Definition at line 1726 of file StringClass.cpp.

References checkIsASCII(), TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ isEqual()

◆ isGreaterOrEqual()

RexxInteger * RexxString::isGreaterOrEqual ( RexxObject other)

Definition at line 1305 of file StringClass.cpp.

References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ isGreaterThan()

RexxInteger * RexxString::isGreaterThan ( RexxObject other)

Definition at line 1271 of file StringClass.cpp.

References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ isInteger()

RexxObject * RexxString::isInteger ( )

◆ isLessOrEqual()

RexxInteger * RexxString::isLessOrEqual ( RexxObject other)

Definition at line 1322 of file StringClass.cpp.

References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ isLessThan()

RexxInteger * RexxString::isLessThan ( RexxObject other)

Definition at line 1288 of file StringClass.cpp.

References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ isSymbol()

◆ lastPos()

sizeC_t RexxString::lastPos ( RexxString needle,
sizeC_t  _start 
)

Primitive implementation of a lastpos search.

Parameters
needleThe search needle.
startThe starting position (origin 1).
Returns
Returns the last match position, searching back from the start position. The starting position is the right-most character of the past possible match (as if the string was truncated at start).

Definition at line 511 of file StringClassMisc.cpp.

References getBLength(), getStringData(), StringUtil::lastPos(), and size_v.

◆ lastPosRexx()

RexxInteger * RexxString::lastPosRexx ( RexxString needle,
RexxInteger _start,
RexxInteger _range 
)

Do a lastpos() search for a string.

Parameters
needleThe search needle.
_startThe starting position.
Returns
the offset of the match position (origin 1). Returns 0 if no match was found.

Definition at line 472 of file StringClassMisc.cpp.

References getBLength(), getStringData(), and StringUtil::lastPosRexx().

Referenced by BUILTIN(), and RexxMemory::createImage().

◆ left()

◆ lengthRexx()

RexxObject * RexxString::lengthRexx ( )

Definition at line 479 of file StringClass.cpp.

References getCLength(), and new_integer().

Referenced by BUILTIN(), and RexxMemory::createImage().

◆ live()

void RexxString::live ( size_t  liveMark)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 141 of file StringClass.cpp.

References memory_mark, and NumberString.

◆ liveGeneral()

void RexxString::liveGeneral ( int  reason)
virtual

Reimplemented from RexxVirtualBase.

Definition at line 150 of file StringClass.cpp.

References memory_mark_general, and NumberString.

◆ logicalOperation()

RexxObject* RexxString::logicalOperation ( RexxObject ,
RexxObject ,
unsigned int   
)

◆ logicalValue()

bool RexxString::logicalValue ( logical_t result)
virtual

Convert an object to a logical value without raising an error.

Parameters
resultThe converted value.
Returns
true if this converted ok, false for an invalid logical.

Reimplemented from RexxObject.

Definition at line 1668 of file StringClass.cpp.

References getBLength(), getCharC(), isOfClass, and RexxObject::requestString().

Referenced by RexxObject::logicalValue().

◆ lower() [1/2]

RexxString * RexxString::lower ( )

◆ lower() [2/2]

RexxString * RexxString::lower ( sizeC_t  offset,
sizeC_t  _length 
)

Lowercase a portion of a Rexx string, returning a new string object. This method assumes the offset and length are already valid for this string object.

Parameters
startThe starting offset of the segment to lowercase (origin 0).
lengthThe length to lowercase.
Returns
A new string object with the case conversion applied.

Definition at line 1968 of file StringClass.cpp.

References extractB(), getBLength(), getWritableData(), and size_v.

◆ lowerRexx()

RexxString * RexxString::lowerRexx ( RexxInteger _start,
RexxInteger _length 
)

Rexx exported method stub for the lower() method.

Parameters
startThe optional starting location. Defaults to the first character if not specified.
lengthThe length to convert. Defaults to the segment from the start position to the end of the string.
Returns
A new string object with the case conversion applied.

Definition at line 1899 of file StringClass.cpp.

References ARG_ONE, ARG_TWO, getCLength(), lower(), Numerics::minVal(), optionalLengthArgument(), and optionalPositionArgument().

Referenced by RexxMemory::createImage().

◆ makeArray()

RexxArray * RexxString::makeArray ( void  )
virtual

Baseclass optimization for handling request array calls.

Returns
The string object converted to an array using default arguments.

Reimplemented from RexxInternalObject.

Definition at line 224 of file StringClass.cpp.

References RexxObject::makeArrayRexx(), and OREF_NULL.

Referenced by RexxInteger::makeArray(), and RexxNumberString::makeArray().

◆ makeArrayRexx()

RexxArray * RexxString::makeArrayRexx ( RexxString div)

Definition at line 2192 of file StringClass.cpp.

References StringUtil::makearray().

Referenced by RexxSourceLiteral::RexxSourceLiteral().

◆ makeString()

RexxString * RexxString::makeString ( )
virtual

◆ match()

RexxInteger * RexxString::match ( RexxInteger start_,
RexxString other,
RexxInteger offset_,
RexxInteger len_ 
)

Test if regions within two strings match.

Parameters
start_The starting compare position within the target string. This must be within the bounds of the string.
otherThe other compare string.
offset_The starting offset of the compare string. This must be within the string bounds. The default start postion is 1.
len_The length of the compare substring. The length and the offset must specify a valid substring of other. If not specified, this defaults to the substring from the offset to the end of the string.
Returns
True if the two regions match, false for any mismatch.

Definition at line 883 of file StringClassMisc.cpp.

References ARG_FOUR, ARG_ONE, ARG_THREE, ARG_TWO, Error_Incorrect_method_length, Error_Incorrect_method_position, getCLength(), optionalLengthArgument(), optionalPositionArgument(), positionArgument(), primitiveMatch(), reportException(), size_v, stringArgument(), TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ matchChar()

RexxInteger * RexxString::matchChar ( RexxInteger position_,
RexxString matchSet 
)

Compare a single character at a give position against a set of characters to see if any of the characters is a match.

Parameters
position_The character position
matchSetThe set to compare against.
Returns
true if the character at the give position is any of the characters, false if none of them match.

Definition at line 1020 of file StringClassMisc.cpp.

References ARG_ONE, ARG_TWO, Error_Incorrect_method_position, getCharC(), getCLength(), positionArgument(), reportException(), size_v, stringArgument(), TheFalseObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ Max()

RexxObject * RexxString::Max ( RexxObject **  args,
size_t  argCount,
size_t  named_argCount 
)

◆ memCompare() [1/2]

◆ memCompare() [2/2]

bool RexxString::memCompare ( RexxString other)
inline

Definition at line 379 of file StringClass.hpp.

References blength, and stringData.

◆ memCopy()

void RexxString::memCopy ( char *  s)
inline

Definition at line 384 of file StringClass.hpp.

References blength, and stringData.

◆ Min()

RexxObject * RexxString::Min ( RexxObject **  args,
size_t  argCount,
size_t  named_argCount 
)

◆ minus()

◆ multiply()

◆ newProxy()

RexxString * RexxString::newProxy ( const char *  string)
static

Definition at line 2502 of file StringClass.cpp.

References RexxInternalObject::makeProxiedObject(), and new_string().

Referenced by new_proxy().

◆ newRexx()

RexxString * RexxString::newRexx ( RexxObject **  init_args,
size_t  argCount,
size_t  named_argCount 
)

◆ newString() [1/3]

RexxString * RexxString::newString ( const char *  string,
sizeB_t  bl,
sizeC_t  cl = -1 
)
static

◆ newString() [2/3]

RexxString * RexxString::newString ( double  d)
static

◆ newString() [3/3]

RexxString * RexxString::newString ( double  number,
size_t  precision 
)
static

Convert a double value to a string using the provided precision.

Parameters
numberThe number to convert.
precisionThe precision requested for the result.
Returns
A string value of the converted result.

Definition at line 2480 of file StringClass.cpp.

References new_string().

◆ newUpperString()

RexxString * RexxString::newUpperString ( const char *  string,
stringsizeB_t  blength,
stringsizeC_t  clength = -1 
)
static

Allocate an initialize a string object that will also contain only uppercase characters. This allows a creation and uppercase operation to be done in one shot, without requiring two string objects to be created.

Parameters
stringThe source string data.
blengthThe length in bytes of the string data.
clengthThe length in characters of the string data.
Returns
A newly constructed string object.

Definition at line 2422 of file StringClass.cpp.

References blength, clength, getWritableData(), hashValue, new_object(), putCharB(), RexxString(), setBLength(), setCLength(), RexxInternalObject::setHasNoReferences(), setUpperOnly(), size_v, sizeC_v, and T_String.

Referenced by new_upper_string().

◆ nonNumeric()

bool RexxString::nonNumeric ( )
inline

Definition at line 369 of file StringClass.hpp.

References Attributes, and STRING_NONNUMERIC.

Referenced by fastNumberString(), and numberString().

◆ notEqual()

RexxInteger * RexxString::notEqual ( RexxObject other)

Definition at line 1254 of file StringClass.cpp.

References comp(), OREF_NULL, TheFalseObject, TheNilObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ notOp()

◆ numberString()

◆ numberValue() [1/2]

bool RexxString::numberValue ( wholenumber_t result)
virtual

◆ numberValue() [2/2]

◆ operator new()

void* RexxString::operator new ( size_t  size,
void *  ptr 
)
inline

Definition at line 123 of file StringClass.hpp.

◆ operatorNot()

RexxObject * RexxString::operatorNot ( RexxObject other)

◆ orOp()

◆ overlay()

◆ plus()

◆ pos()

sizeC_t RexxString::pos ( RexxString needle,
sizeC_t  _start 
)

Do a primitive level pos() search on a string.

Parameters
needleThe search needle.
_startThe starting position (origin 0)
Returns
The match position (origin 1). Returns 0 for no match.

Definition at line 743 of file StringClassMisc.cpp.

References getBLength(), getStringData(), StringUtil::pos(), and size_v.

Referenced by changeStr(), and RexxActivity::messageSubstitution().

◆ posRexx()

RexxInteger * RexxString::posRexx ( RexxString needle,
RexxInteger pstart,
RexxInteger range 
)

Definition at line 702 of file StringClassMisc.cpp.

References getBLength(), getStringData(), and StringUtil::posRexx().

Referenced by BUILTIN(), and RexxMemory::createImage().

◆ power()

◆ primitiveCaselessCompareTo()

RexxInteger * RexxString::primitiveCaselessCompareTo ( RexxString other,
stringsizeC_t  _start,
stringsizeC_t  len 
)

Perform a compare of regions of two string objects. Returns -1, 0, 1 based on the relative ordering of the two strings.

Parameters
otherThe source string for the compare.
startThe starting offset within the target string.
lenThe length of the substring to compare.
Returns
-1 if the target string is less than, 0 if the two strings are equal, 1 if the target string is the greater.

Definition at line 1205 of file StringClassMisc.cpp.

References StringUtil::caselessCompare(), getCLength(), getStringData(), IntegerMinusOne, IntegerOne, IntegerZero, Numerics::minVal(), and size_v.

Referenced by caselessCompareToRexx().

◆ primitiveCaselessIsEqual()

bool RexxString::primitiveCaselessIsEqual ( RexxObject otherObj)

Primitive string caseless comparison.

Parameters
otherObjThe other string to compare.
Returns
true if the strings compare, false otherwise.

Definition at line 553 of file StringClass.cpp.

References ARG_ONE, StringUtil::caselessCompare(), getBLength(), getStringData(), REQUEST_STRING(), requiredArgument(), and TheNilObject.

Referenced by caselessEquals().

◆ primitiveCaselessMatch()

bool RexxString::primitiveCaselessMatch ( stringsizeC_t  _start,
RexxString other,
stringsizeC_t  offset,
stringsizeC_t  len 
)

Perform a caselesee compare of regions of two string objects. Returns true if the two regions match, returns false for mismatches.

Parameters
startThe starting offset within the target string.
otherThe source string for the compare.
offsetThe offset of the substring of the other string to use.
lenThe length of the substring to compare.
Returns
True if the regions match, false otherwise.

Definition at line 993 of file StringClassMisc.cpp.

References StringUtil::caselessCompare(), getCLength(), getStringData(), and size_v.

Referenced by caselessMatch().

◆ primitiveCompareTo()

RexxInteger * RexxString::primitiveCompareTo ( RexxString other,
stringsizeC_t  _start,
stringsizeC_t  len 
)

Perform a compare of regions of two string objects. Returns -1, 0, 1 based on the relative ordering of the two strings.

Parameters
otherThe source string for the compare.
startThe starting offset within the target string.
lenThe length of the substring to compare.
Returns
-1 if the target string is less than, 0 if the two strings are equal, 1 if the target string is the greater.

Definition at line 1116 of file StringClassMisc.cpp.

References getCLength(), getStringData(), IntegerMinusOne, IntegerOne, IntegerZero, Numerics::minVal(), and size_v.

Referenced by compareToRexx().

◆ primitiveIsEqual()

bool RexxString::primitiveIsEqual ( RexxObject otherObj)

◆ primitiveMakeString()

RexxString * RexxString::primitiveMakeString ( )
virtual

Reimplemented from RexxInternalObject.

Definition at line 241 of file StringClass.cpp.

◆ primitiveMatch()

bool RexxString::primitiveMatch ( stringsizeC_t  _start,
RexxString other,
stringsizeC_t  offset,
stringsizeC_t  len 
)

Perform a compare of regions of two string objects. Returns true if the two regions match, returns false for mismatches.

Parameters
startThe starting offset within the target string.
otherThe source string for the compare.
offsetThe offset of the substring of the other string to use.
lenThe length of the substring to compare.
Returns
True if the regions match, false otherwise.

Definition at line 966 of file StringClassMisc.cpp.

References getCLength(), getStringData(), and size_v.

Referenced by match().

◆ put() [1/2]

◆ put() [2/2]

void RexxString::put ( sizeB_t  s,
RexxString o 
)
inline

Definition at line 358 of file StringClass.hpp.

References getBLength(), getStringData(), and put().

Referenced by put().

◆ putCharB()

◆ rawString()

RexxString * RexxString::rawString ( sizeB_t  bl,
sizeC_t  cl = -1 
)
static

◆ remainder()

◆ replaceAt()

RexxString * RexxString::replaceAt ( RexxString newStrObj,
RexxInteger position,
RexxInteger _length,
RexxString pad 
)

Replace a substring starting at a given position and length with another string. This operation is essentially a delstr() followed by an insert() operation.

Parameters
newStrObjThe replacement string
positionThe replacement position (required)
_lengthThe length of string to replace (optional). If omitted, the length of the replacement string is used and this is essentially an overlay operation.
padThe padding character if padding is required. The default is a ' '
Returns
A new instance of the string with the value replace.

Definition at line 457 of file StringClassSub.cpp.

References ARG_FOUR, ARG_ONE, ARG_THREE, ARG_TWO, getCLength(), getStringData(), getWritableData(), optionalLengthArgument(), optionalPadArgument(), positionArgument(), raw_string(), size_v, and stringArgument().

Referenced by RexxMemory::createImage().

◆ reverse()

RexxString * RexxString::reverse ( )

Definition at line 531 of file StringClassSub.cpp.

References getBLength(), getStringData(), getWritableData(), and raw_string().

Referenced by RexxMemory::createImage().

◆ right()

◆ round()

RexxObject * RexxString::round ( )

The String class version of the round method.

Returns
The formatted numeric version.

Definition at line 1120 of file StringClass.cpp.

References Error_Incorrect_method_string_nonumber, fastNumberString(), OREF_NULL, reportException(), and RexxNumberString::round().

Referenced by RexxMemory::createImage().

◆ set()

◆ setBLength()

void RexxString::setBLength ( sizeB_t  l)
inline

Definition at line 344 of file StringClass.hpp.

References blength.

Referenced by newString(), newUpperString(), and rawString().

◆ setCLength()

void RexxString::setCLength ( sizeC_t  l)
inline

Definition at line 345 of file StringClass.hpp.

References clength.

Referenced by newString(), newUpperString(), and rawString().

◆ setHasLower()

void RexxString::setHasLower ( )
inline

Definition at line 368 of file StringClass.hpp.

References Attributes, and STRING_HASLOWER.

Referenced by checkLower().

◆ setIsASCII()

void RexxString::setIsASCII ( )
inline

Definition at line 374 of file StringClass.hpp.

References Attributes, and STRING_ISASCII.

Referenced by checkIsASCII().

◆ setIsASCIIChecked()

void RexxString::setIsASCIIChecked ( )
inline

Definition at line 372 of file StringClass.hpp.

References Attributes, and STRING_ISASCII_CHECKED.

Referenced by checkIsASCII().

◆ setNonNumeric()

void RexxString::setNonNumeric ( )
inline

Definition at line 370 of file StringClass.hpp.

References Attributes, and STRING_NONNUMERIC.

Referenced by createNumberString(), and numberString().

◆ setNumberString()

void RexxString::setNumberString ( RexxObject NumberRep)

◆ setUpperOnly()

void RexxString::setUpperOnly ( )
inline

Definition at line 367 of file StringClass.hpp.

References Attributes, and STRING_NOLOWER.

Referenced by checkLower(), newUpperString(), and RexxSource::sourceNextToken().

◆ sign()

◆ sortCaselessCompare() [1/2]

int RexxString::sortCaselessCompare ( RexxString other)
inline

◆ sortCaselessCompare() [2/2]

int RexxString::sortCaselessCompare ( RexxString other,
sizeC_t  startCol,
sizeC_t  colLength 
)
inline

Definition at line 470 of file StringClass.hpp.

References StringUtil::caselessCompare(), clength, size_v, and stringData.

◆ sortCompare() [1/2]

int RexxString::sortCompare ( RexxString other)
inline

Definition at line 402 of file StringClass.hpp.

References blength, and stringData.

Referenced by compare_asc(), compare_asc_cols(), compare_desc(), and compare_desc_cols().

◆ sortCompare() [2/2]

int RexxString::sortCompare ( RexxString other,
sizeC_t  startCol,
sizeC_t  colLength 
)
inline

Definition at line 436 of file StringClass.hpp.

References clength, size_v, and stringData.

◆ space()

◆ strCaselessCompare()

◆ strCompare()

◆ strictComp()

wholenumber_t RexxString::strictComp ( RexxObject otherObj,
RexxString alternativeOperator = NULL,
RexxInteger **  alternativeOperatorResultPtr = NULL 
)

◆ strictEqual()

◆ strictGreaterOrEqual()

RexxInteger * RexxString::strictGreaterOrEqual ( RexxObject other)

Definition at line 1373 of file StringClass.cpp.

References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ strictGreaterThan()

RexxInteger * RexxString::strictGreaterThan ( RexxObject other)

Definition at line 1339 of file StringClass.cpp.

References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ strictLessOrEqual()

RexxInteger * RexxString::strictLessOrEqual ( RexxObject other)

Definition at line 1390 of file StringClass.cpp.

References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ strictLessThan()

RexxInteger * RexxString::strictLessThan ( RexxObject other)

Definition at line 1356 of file StringClass.cpp.

References OREF_NULL, strictComp(), TheFalseObject, TheNilObject, and TheTrueObject.

Referenced by RexxMemory::createImage().

◆ strictNotEqual()

RexxInteger * RexxString::strictNotEqual ( RexxObject other)

◆ stringTrace()

RexxString * RexxString::stringTrace ( )

◆ stringValue()

RexxString * RexxString::stringValue ( )
virtual

Reimplemented from RexxInternalObject.

Definition at line 189 of file StringClass.cpp.

References getBLength(), getCLength(), getStringData(), isOfClass, and new_string().

Referenced by Interpreter::messageNumber(), and RexxSource::position().

◆ strip()

RexxString * RexxString::strip ( RexxString optionString,
RexxString stripchar 
)

Strip a set of leading and/or trailing characters from a string, returning a new string value.

Parameters
optionThe option indicating which characters to strip.
stripcharThe set of characters to strip.
Returns
A new string instance, with the target characters removed.

Definition at line 621 of file StringClassSub.cpp.

References ARG_ONE, ARG_TWO, Error_Incorrect_method_option, getBLength(), getStringData(), StringUtil::matchCharacter(), new_string(), optionalOptionArgument(), optionalStringArgument(), OREF_NULL, reportException(), STRIP_BOTH, STRIP_LEADING, and STRIP_TRAILING.

Referenced by RexxMemory::createImage().

◆ subchar()

RexxString * RexxString::subchar ( RexxInteger positionArg)

Extract a single character from a string object. Returns a null string if the specified position is beyond the bounds of the string.

Parameters
positionArgThe position of the target character. Must be a positive whole number.
Returns
Returns the single character at the target position. Returns a null string if the position is beyond the end of the string.

Definition at line 716 of file StringClassSub.cpp.

References getBLength(), getStringData(), and StringUtil::subchar().

Referenced by RexxMemory::createImage().

◆ substr()

RexxString * RexxString::substr ( RexxInteger position,
RexxInteger _length,
RexxString pad 
)

Definition at line 694 of file StringClassSub.cpp.

References getBLength(), getStringData(), and StringUtil::substr().

Referenced by RexxMemory::createImage().

◆ subWord()

RexxString * RexxString::subWord ( RexxInteger position,
RexxInteger plength 
)

Definition at line 229 of file StringClassWord.cpp.

References getBLength(), getStringData(), and StringUtil::subWord().

Referenced by RexxMemory::createImage().

◆ subWords()

RexxArray * RexxString::subWords ( RexxInteger position,
RexxInteger plength 
)

Returns an array of all words contained in the given range of the string, using the same extraction rules used for subWord() and word().

Parameters
positionThe optional starting position. If not provided, extraction starts with the first word.
plengthThe number of words to extract. If omitted, will extract from the starting postion to the end of the string.
Returns
An array containing the extracted words. If no words are available within the given range, this returns an empty array.

Definition at line 249 of file StringClassWord.cpp.

References getBLength(), getStringData(), and StringUtil::subWords().

Referenced by RexxMemory::createImage().

◆ toRxstring() [1/2]

◆ toRxstring() [2/2]

void RexxString::toRxstring ( RXSTRING r)
inline

◆ translate()

◆ trunc()

◆ truthValue()

bool RexxString::truthValue ( int  errorCode)
virtual

◆ unflatten()

RexxObject * RexxString::unflatten ( RexxEnvelope envelope)
virtual

◆ unsignedNumberValue() [1/2]

bool RexxString::unsignedNumberValue ( uwholenumber_t result)
virtual

◆ unsignedNumberValue() [2/2]

bool RexxString::unsignedNumberValue ( uwholenumber_t result,
size_t  precision 
)
virtual

◆ upper() [1/2]

RexxString * RexxString::upper ( )

Definition at line 1758 of file StringClass.cpp.

References checkLower(), getBLength(), getCLength(), getStringData(), getWritableData(), hasLower(), raw_string(), and upperOnly().

Referenced by PackageManager::addRegisteredRoutine(), RexxSource::attributeDirective(), BUILTIN(), PackageManager::callNativeRoutine(), RexxSource::classDirective(), RexxSource::constantDirective(), RexxObject::decodeMessageName(), RexxClass::defineClassMethod(), RexxClass::defineMethod(), RexxObject::defMethod(), RexxObject::defMethods(), RexxClass::deleteMethod(), PackageManager::dropRegisteredRoutine(), RexxDirectory::entry(), RexxDirectory::entryRexx(), RexxInstructionForward::execute(), RexxSource::extensionDirective(), RexxSource::findClass(), Interpreter::findClass(), RexxSource::findRoutine(), RexxVariableDictionary::getVariableRetriever(), RexxDirectory::hasEntry(), RexxObject::hasMethodRexx(), RexxObject::instanceMethod(), RexxClass::method(), RexxClass::methodDictionaryCreate(), RexxSource::methodDirective(), RexxBehaviour::methodObject(), RexxTarget::next(), PackageManager::queryRegisteredRoutine(), RexxDirectory::remove(), RexxStem::request(), RexxObject::requestRexx(), InterpreterInstance::resolveCommandHandler(), RexxExpressionMessage::RexxExpressionMessage(), RexxDirectory::setEntry(), RexxDirectory::setMethod(), RexxObject::setMethod(), RexxNativeActivation::stemSort(), StringUpper(), RexxObject::unsetMethod(), RexxCompoundVariable::upper(), RexxStemVariable::upper(), RexxParseVariable::upper(), upperRexx(), and RexxSource::words().

◆ upper() [2/2]

RexxString * RexxString::upper ( sizeC_t  offset,
sizeC_t  _length 
)

Uppercase a portion of a Rexx string, returning a new string object. This method assumes the offset and length are already valid for this string object.

Parameters
startThe starting offset of the segment to uppercase (origin 0).
lengthThe length to lowercase.
Returns
A new string object with the case conversion applied.

Definition at line 1998 of file StringClass.cpp.

References extractB(), getBLength(), getWritableData(), and size_v.

◆ upperOnly()

bool RexxString::upperOnly ( )
inline

Definition at line 365 of file StringClass.hpp.

References Attributes, and STRING_NOLOWER.

Referenced by upper().

◆ upperRexx()

RexxString * RexxString::upperRexx ( RexxInteger _start,
RexxInteger _length 
)

Rexx exported method stub for the upper() method.

Parameters
startThe optional starting location. Defaults to the first character if not specified.
lengthThe length to convert. Defaults to the segment from the start position to the end of the string.
Returns
A new string object with the case conversion applied.

Definition at line 1933 of file StringClass.cpp.

References ARG_ONE, ARG_TWO, getCLength(), Numerics::minVal(), optionalLengthArgument(), optionalPositionArgument(), and upper().

Referenced by RexxMemory::createImage(), and translate().

◆ verify()

RexxInteger * RexxString::verify ( RexxString ref,
RexxString option,
RexxInteger _start,
RexxInteger range 
)

Definition at line 854 of file StringClassMisc.cpp.

References getBLength(), getStringData(), and StringUtil::verify().

Referenced by RexxMemory::createImage().

◆ word()

◆ wordIndex()

RexxInteger * RexxString::wordIndex ( RexxInteger position)

Definition at line 274 of file StringClassWord.cpp.

References getBLength(), getStringData(), and StringUtil::wordIndex().

Referenced by RexxMemory::createImage().

◆ wordLength()

RexxInteger * RexxString::wordLength ( RexxInteger position)

Definition at line 286 of file StringClassWord.cpp.

References getBLength(), getStringData(), and StringUtil::wordLength().

Referenced by RexxMemory::createImage().

◆ wordPos()

RexxInteger * RexxString::wordPos ( RexxString phrase,
RexxInteger pstart 
)

Perform a wordpos search on a string object.

Parameters
phraseThe search phrase
pstartThe starting search position.
Returns
The index of the match location.

Definition at line 301 of file StringClassWord.cpp.

References getBLength(), getStringData(), and StringUtil::wordPos().

Referenced by BUILTIN(), and RexxMemory::createImage().

◆ words()

RexxInteger * RexxString::words ( )

◆ x2b()

◆ x2c()

RexxString * RexxString::x2c ( )

Definition at line 290 of file StringClassConversion.cpp.

References getBLength(), getStringData(), and StringUtil::packHex().

Referenced by RexxMemory::createImage().

◆ x2d()

RexxString * RexxString::x2d ( RexxInteger _length)

Definition at line 308 of file StringClassConversion.cpp.

References x2dC2d().

Referenced by RexxMemory::createImage().

◆ x2dC2d()

◆ xorOp()

Member Data Documentation

◆ Attributes

size_t RexxString::Attributes
protected

◆ blength

◆ classInstance

RexxClass * RexxString::classInstance = OREF_NULL
static

Definition at line 516 of file StringClass.hpp.

◆ clength

sizeC_t RexxString::clength
protected

◆ hashValue

HashCode RexxString::hashValue
protected

Definition at line 520 of file StringClass.hpp.

Referenced by getStringHash(), newString(), newUpperString(), and rawString().

◆ NumberString

RexxNumberString* RexxString::NumberString
protected

◆ operatorMethods

PCPPM RexxString::operatorMethods
static

Definition at line 513 of file StringClass.hpp.

◆ stringData


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