StringClass.hpp File Reference
#include "NumberStringClass.hpp"
#include "IntegerClass.hpp"
#include "StringUtil.hpp"
#include "Utilities.hpp"
Include dependency graph for StringClass.hpp:

Go to the source code of this file.

Classes

class  RexxString
 

Macros

#define STRING_BAD_VARIABLE   0
 
#define STRING_STEM   1
 
#define STRING_COMPOUND_NAME   2
 
#define STRING_LITERAL   3
 
#define STRING_LITERAL_DOT   4
 
#define STRING_NUMERIC   5
 
#define STRING_NAME   6
 
#define STRING_HASLOWER   0x01 /* string does contain lowercase */
 
#define STRING_NOLOWER   0x02 /* string does not contain lowercase */
 
#define STRING_NONNUMERIC   0x04 /* string is non-numeric */
 
#define STRING_ISASCII_CHECKED   0x08 /* string is ASCII only checked */
 
#define STRING_ISASCII   0x10 /* string is ASCII only */
 
#define STRING_EVAL_AS_TEXT   0x20 /* string evaluation returns text */
 
#define INITIAL_NAME_SIZE   10 /* first name table allocation */
 
#define EXTENDED_NAME_SIZE   10 /* amount to extend table by */
 
#define STRIP_BOTH   'B'
 
#define STRIP_LEADING   'L'
 
#define STRIP_TRAILING   'T'
 
#define DATATYPE_ALPHANUMERIC   'A'
 
#define DATATYPE_BINARY   'B'
 
#define DATATYPE_LOWERCASE   'L'
 
#define DATATYPE_MIXEDCASE   'M'
 
#define DATATYPE_NUMBER   'N'
 
#define DATATYPE_SYMBOL   'S'
 
#define DATATYPE_VARIABLE   'V'
 
#define DATATYPE_UPPERCASE   'U'
 
#define DATATYPE_WHOLE_NUMBER   'W'
 
#define DATATYPE_HEX   'X'
 
#define DATATYPE_9DIGITS   '9'
 
#define DATATYPE_LOGICAL   'O'
 
#define VERIFY_MATCH   'M'
 
#define VERIFY_NOMATCH   'N'
 
#define ch_SPACE   ' '
 
#define HEX_CHAR_STR   "0123456789ABCDEFabcdef"
 
#define ALPHANUM   "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
 
#define BINARI   "01"
 
#define LOWER_ALPHA   "abcdefghijklmnopqrstuvwxyz"
 
#define MIXED_ALPHA   "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
 
#define UPPER_ALPHA   "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
 

Functions

char IntToHexDigit (int n)
 
void * rmemcpy (void *t, RexxString *s, size_t blen)
 
int rmemcmp (const void *t, RexxString *s, size_t blen)
 
char * rstrcpy (char *t, RexxString *s)
 
char * rstrcat (char *t, RexxString *s)
 
int rstrcmp (const char *t, RexxString *s)
 
int rsnprintf (RexxString *s, const char *format,...)
 
RexxStringnew_string (const char *s, stringsize_t l)
 
RexxStringraw_string (stringsize_t l)
 
RexxStringnew_string (double d)
 
RexxStringnew_string (double d, size_t p)
 
RexxStringnew_string (const char *string)
 
RexxStringnew_string (char cc)
 
RexxStringnew_string (RXSTRING &r)
 
RexxStringnew_string (CONSTRXSTRING &r)
 
RexxStringnew_proxy (const char *name)
 
RexxStringnew_upper_string (const char *s, stringsize_t l)
 
RexxStringnew_upper_string (const char *string)
 
bool isStem (const char *cstring)
 

Macro Definition Documentation

◆ ALPHANUM

#define ALPHANUM   "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"

Definition at line 97 of file StringClass.hpp.

◆ BINARI

#define BINARI   "01"

Definition at line 99 of file StringClass.hpp.

◆ ch_SPACE

#define ch_SPACE   ' '

Definition at line 92 of file StringClass.hpp.

◆ DATATYPE_9DIGITS

#define DATATYPE_9DIGITS   '9'

Definition at line 86 of file StringClass.hpp.

◆ DATATYPE_ALPHANUMERIC

#define DATATYPE_ALPHANUMERIC   'A'

Definition at line 76 of file StringClass.hpp.

◆ DATATYPE_BINARY

#define DATATYPE_BINARY   'B'

Definition at line 77 of file StringClass.hpp.

◆ DATATYPE_HEX

#define DATATYPE_HEX   'X'

Definition at line 85 of file StringClass.hpp.

◆ DATATYPE_LOGICAL

#define DATATYPE_LOGICAL   'O'

Definition at line 87 of file StringClass.hpp.

◆ DATATYPE_LOWERCASE

#define DATATYPE_LOWERCASE   'L'

Definition at line 78 of file StringClass.hpp.

◆ DATATYPE_MIXEDCASE

#define DATATYPE_MIXEDCASE   'M'

Definition at line 79 of file StringClass.hpp.

◆ DATATYPE_NUMBER

#define DATATYPE_NUMBER   'N'

Definition at line 80 of file StringClass.hpp.

◆ DATATYPE_SYMBOL

#define DATATYPE_SYMBOL   'S'

Definition at line 81 of file StringClass.hpp.

◆ DATATYPE_UPPERCASE

#define DATATYPE_UPPERCASE   'U'

Definition at line 83 of file StringClass.hpp.

◆ DATATYPE_VARIABLE

#define DATATYPE_VARIABLE   'V'

Definition at line 82 of file StringClass.hpp.

◆ DATATYPE_WHOLE_NUMBER

#define DATATYPE_WHOLE_NUMBER   'W'

Definition at line 84 of file StringClass.hpp.

◆ EXTENDED_NAME_SIZE

#define EXTENDED_NAME_SIZE   10 /* amount to extend table by */

Definition at line 70 of file StringClass.hpp.

◆ HEX_CHAR_STR

#define HEX_CHAR_STR   "0123456789ABCDEFabcdef"

Definition at line 96 of file StringClass.hpp.

◆ INITIAL_NAME_SIZE

#define INITIAL_NAME_SIZE   10 /* first name table allocation */

Definition at line 69 of file StringClass.hpp.

◆ LOWER_ALPHA

#define LOWER_ALPHA   "abcdefghijklmnopqrstuvwxyz"

Definition at line 100 of file StringClass.hpp.

◆ MIXED_ALPHA

#define MIXED_ALPHA   "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"

Definition at line 101 of file StringClass.hpp.

◆ STRING_BAD_VARIABLE

#define STRING_BAD_VARIABLE   0

Definition at line 54 of file StringClass.hpp.

◆ STRING_COMPOUND_NAME

#define STRING_COMPOUND_NAME   2

Definition at line 56 of file StringClass.hpp.

◆ STRING_EVAL_AS_TEXT

#define STRING_EVAL_AS_TEXT   0x20 /* string evaluation returns text */

Definition at line 67 of file StringClass.hpp.

◆ STRING_HASLOWER

#define STRING_HASLOWER   0x01 /* string does contain lowercase */

Definition at line 62 of file StringClass.hpp.

◆ STRING_ISASCII

#define STRING_ISASCII   0x10 /* string is ASCII only */

Definition at line 66 of file StringClass.hpp.

◆ STRING_ISASCII_CHECKED

#define STRING_ISASCII_CHECKED   0x08 /* string is ASCII only checked */

Definition at line 65 of file StringClass.hpp.

◆ STRING_LITERAL

#define STRING_LITERAL   3

Definition at line 57 of file StringClass.hpp.

◆ STRING_LITERAL_DOT

#define STRING_LITERAL_DOT   4

Definition at line 58 of file StringClass.hpp.

◆ STRING_NAME

#define STRING_NAME   6

Definition at line 60 of file StringClass.hpp.

◆ STRING_NOLOWER

#define STRING_NOLOWER   0x02 /* string does not contain lowercase */

Definition at line 63 of file StringClass.hpp.

◆ STRING_NONNUMERIC

#define STRING_NONNUMERIC   0x04 /* string is non-numeric */

Definition at line 64 of file StringClass.hpp.

◆ STRING_NUMERIC

#define STRING_NUMERIC   5

Definition at line 59 of file StringClass.hpp.

◆ STRING_STEM

#define STRING_STEM   1

Definition at line 55 of file StringClass.hpp.

◆ STRIP_BOTH

#define STRIP_BOTH   'B'

Definition at line 72 of file StringClass.hpp.

◆ STRIP_LEADING

#define STRIP_LEADING   'L'

Definition at line 73 of file StringClass.hpp.

◆ STRIP_TRAILING

#define STRIP_TRAILING   'T'

Definition at line 74 of file StringClass.hpp.

◆ UPPER_ALPHA

#define UPPER_ALPHA   "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

Definition at line 103 of file StringClass.hpp.

◆ VERIFY_MATCH

#define VERIFY_MATCH   'M'

Definition at line 89 of file StringClass.hpp.

◆ VERIFY_NOMATCH

#define VERIFY_NOMATCH   'N'

Definition at line 90 of file StringClass.hpp.

Function Documentation

◆ IntToHexDigit()

char IntToHexDigit ( int  n)
inline

Definition at line 117 of file StringClass.hpp.

Referenced by RexxString::c2x(), and RexxNumberString::d2xD2c().

◆ isStem()

bool isStem ( const char *  cstring)
inline

◆ new_proxy()

RexxString* new_proxy ( const char *  name)
inline

◆ new_string() [1/7]

RexxString* new_string ( char  cc)
inline

Definition at line 626 of file StringClass.hpp.

References new_string().

◆ new_string() [2/7]

RexxString* new_string ( const char *  s,
stringsize_t  l 
)
inline

Definition at line 600 of file StringClass.hpp.

References RexxString::newString().

Referenced by RexxSource::addCompound(), SysInterpreterInstance::addSearchExtension(), RexxSource::addText(), RexxSource::argList(), ArrayAppendString(), BUILTIN(), RexxActivity::callCommandExit(), RexxActivity::callDebugInputExit(), RexxActivity::callFunctionExit(), RexxActivity::callPullExit(), RexxActivity::callQueueNameExit(), RexxNativeActivation::callRegisteredRoutine(), RexxActivity::callTerminalInputExit(), RexxString::center(), CommandHandlerDispatcher::complete(), RexxActivity::createExceptionObject(), RexxMemory::createImage(), RexxClass::createInstance(), RexxNumberString::d2xD2c(), RexxString::dataType(), StringUtil::dataType(), RexxObject::defMethod(), DirectoryAt(), DirectoryPut(), DirectoryRemove(), RexxNativeActivation::dropContextVariable(), RexxNativeActivation::dropObjectVariable(), RexxActivation::enableExternalTrace(), RexxClass::enhanced(), RexxSource::errorToken(), SysFileSystem::extractDirectory(), SysFileSystem::extractExtension(), SysFileSystem::extractFile(), RexxSource::formatTraceSetting(), RexxSource::get(), RexxNativeActivation::getContextVariable(), RexxMemory::getGlobalName(), SystemInterpreter::getMessageHeader(), SystemInterpreter::getMessageText(), RexxNativeActivation::getObjectVariable(), SystemInterpreter::getSystemName(), StackFrameClass::getType(), SystemInterpreter::getUserid(), Interpreter::getVersionNumber(), RexxTarget::getWord(), RexxInteger::hashCode(), RexxNumberString::hashCode(), RexxObject::hashCode(), LoadLibraryPackage(), LoadPackage(), LoadPackageFromData(), InterpreterInstance::loadRequires(), LibraryPackage::loadRoutines(), StringUtil::makearray(), RexxMutableBuffer::makeString(), RexxString::makeString(), RexxCompoundTail::makeString(), NamedArguments::match(), Interpreter::messageNumber(), RexxActivity::messageSubstitution(), new_string(), RexxNumberString::newInstanceFromDouble(), NewMethod(), RexxString::newProxy(), RexxMethod::newRexx(), RoutineClass::newRexx(), RexxString::newRexx(), NewRoutine(), NewStem(), RexxString::newString(), NewString(), NewStringFromAsciiz(), RexxText::newText(), normalize(), RexxClass::operator new(), RexxSource::optionsDirective(), RexxObject::oref(), RexxSource::packLiteral(), Numerics::pointerToString(), RexxInteger::primitiveMakeString(), InterpreterInstance::processOptions(), SystemInterpreter::qualifyFileSystemName(), RegisterLibrary(), RexxActivity::reportAnException(), SysInterpreterInstance::resolveProgramName(), RexxSource::RexxInstructionForwardCreate(), RexxSourceLiteral::RexxSourceLiteral(), RexxStartDispatcher::run(), CallProgramDispatcher::run(), TranslateDispatcher::run(), TranslateInstoreDispatcher::run(), RexxNativeActivation::setContextVariable(), RexxObject::setMethod(), RexxNativeActivation::setObjectVariable(), RexxActivation::setTrace(), RexxSource::sourceNextToken(), Interpreter::startInterpreter(), RexxNativeActivation::stemSort(), RexxInteger::stringValue(), RexxString::stringValue(), RexxString::strip(), StringUtil::subchar(), StringUtil::subWord(), StringUtil::subWords(), RexxArray::toString(), RexxSource::traceNew(), RexxString::translate(), Unicode::unialgo_version(), Unicode::utf8proc_version(), StringUtil::validateSet(), SystemInterpreter::valueFunction(), RexxNativeActivation::valueToObject(), RexxNativeActivation::variablePoolFetchPrivate(), RexxNativeActivation::variablePoolGetVariable(), RexxNativeActivation::variablePoolSetVariable(), StringUtil::word(), and StringUtil::words().

◆ new_string() [3/7]

RexxString* new_string ( const char *  string)
inline

Definition at line 621 of file StringClass.hpp.

References new_string().

◆ new_string() [4/7]

RexxString* new_string ( CONSTRXSTRING r)
inline

Definition at line 636 of file StringClass.hpp.

References new_string(), _CONSTRXSTRING::strlength, and _CONSTRXSTRING::strptr.

◆ new_string() [5/7]

RexxString* new_string ( double  d)
inline

Definition at line 610 of file StringClass.hpp.

References RexxString::newString().

◆ new_string() [6/7]

RexxString* new_string ( double  d,
size_t  p 
)
inline

Definition at line 615 of file StringClass.hpp.

References RexxString::newString().

◆ new_string() [7/7]

RexxString* new_string ( RXSTRING r)
inline

Definition at line 631 of file StringClass.hpp.

References new_string(), _RXSTRING::strlength, and _RXSTRING::strptr.

◆ new_upper_string() [1/2]

◆ new_upper_string() [2/2]

RexxString* new_upper_string ( const char *  string)
inline

Definition at line 651 of file StringClass.hpp.

References new_upper_string().

◆ raw_string()

◆ rmemcmp()

int rmemcmp ( const void *  t,
RexxString s,
size_t  blen 
)
inline

Definition at line 568 of file StringClass.hpp.

References RexxString::getStringData().

◆ rmemcpy()

void* rmemcpy ( void *  t,
RexxString s,
size_t  blen 
)
inline

Definition at line 563 of file StringClass.hpp.

References RexxString::getStringData().

◆ rsnprintf()

int rsnprintf ( RexxString s,
const char *  format,
  ... 
)
inline

◆ rstrcat()

char* rstrcat ( char *  t,
RexxString s 
)
inline

Definition at line 578 of file StringClass.hpp.

References RexxString::getStringData().

◆ rstrcmp()

int rstrcmp ( const char *  t,
RexxString s 
)
inline

Definition at line 583 of file StringClass.hpp.

References RexxString::getStringData().

◆ rstrcpy()

char* rstrcpy ( char *  t,
RexxString s 
)
inline

Definition at line 573 of file StringClass.hpp.

References RexxString::getStringData().