ooRexx
4.2.0-source
About: ooRexx (Open Object Rexx) is a free implementation of Object Rexx. Object Rexx is an enhancement of the classic Rexx interpreter; a full-featured programming language with a human-oriented syntax. Fossies Dox: ooRexx-4.2.0-source.tar.gz ("inofficial" and yet experimental doxygen-generated source code documentation) 
|
Go to the documentation of this file. 44 #ifndef Included_RexxArray 45 #define Included_RexxArray 47 #define RaiseBoundsNone 0x00000000 48 #define RaiseBoundsUpper 0x00000001 49 #define RaiseBoundsInvalid 0x00000002 50 #define RaiseBoundsTooMany 0x00000004 51 #define RaiseBoundsAll 0x0000000F 52 #define ExtendUpper 0x00000010 103 inline void *
operator new(
size_t size,
void *objectPtr) {
return objectPtr; };
109 void *
operator new(size_t, size_t,
RexxObject **);
112 inline void operator delete(
void *) {;}
113 inline void operator delete(
void *,
void *) {;}
119 inline void operator delete(
void *, size_t,
RexxObject **) {;}
120 inline void operator delete(
void *, size_t, size_t,
RexxClass *cls) {;}
127 void init(
size_t,
size_t);
201 inline RexxObject *
get(
size_t pos) {
return (this->
data())[pos-1];}
203 inline RexxObject **
data(
size_t pos) {
return &((this->
data())[pos-1]);}
static RexxArray * createMultidimensional(RexxObject **dims, size_t count, RexxClass *)
RexxString * makeString()
RexxObject * hasItem(RexxObject *)
size_t insert(RexxObject *_value, size_t index)
RexxObject * getRexx(RexxObject **, size_t)
RexxArray * new_array(size_t s)
bool validateIndex(RexxObject **, size_t, size_t, size_t, stringsize_t &)
RexxObject * remove(size_t)
RexxObject * insertRexx(RexxObject *_value, RexxObject *index)
static RexxClass * classInstance
void putApi(RexxObject *eref, size_t pos)
RexxObject * previousRexx(RexxObject **, size_t)
RexxObject * deleteRexx(RexxObject *index)
RexxObject * sectionSubclass(size_t, size_t)
WithSortComparator(RexxObject *c)
wholenumber_t sortCompare(RexxObject *comparator, RexxObject *left, RexxObject *right)
RexxArray * section(size_t, size_t)
RexxObject * index(RexxObject *)
size_t indexOf(RexxObject *)
RexxObject * fill(RexxObject *)
RexxObject * dimension(RexxObject *)
void mergeSort(BaseSortComparator &comparator, RexxArray *working, size_t left, size_t right)
size_t findSingleIndexItem(RexxObject *item)
void liveGeneral(int reason)
static const size_t ARRAY_DEFAULT_SIZE
RexxArray * extend(size_t)
bool isSingleDimensional()
struct copyElementParm COPYELEMENTPARM
void openGap(size_t index, size_t elements)
RexxObject * get(size_t pos)
void ensureSpace(size_t newSize)
RexxObject * removeRexx(RexxObject **, size_t)
static const size_t ARRAY_MIN_SIZE
RexxArray(RESTORETYPE restoreType)
static RexxArray * nullArray
void setExpansion(RexxObject *expansion)
RexxObject ** data(size_t pos)
PartitionBounds(size_t l, size_t r)
RexxObject ** slotAddress(size_t index)
RexxString * primitiveMakeString()
void put(RexxObject *eref, size_t pos)
RexxObject * getDimensions()
static const size_t MAX_FIXEDARRAY_SIZE
bool isMultiDimensional()
static void arraycopy(RexxArray *source, size_t start, RexxArray *target, size_t index, size_t count)
virtual wholenumber_t compare(RexxObject *first, RexxObject *second)
RexxObject * convertIndex(size_t idx)
RexxArray * stableSortRexx()
void closeGap(size_t index, size_t elements)
void flatten(RexxEnvelope *)
RexxObject * sectionRexx(RexxObject *, RexxObject *)
RexxArray * getExpansion()
RexxObject * getApi(size_t pos)
RexxObject * appendRexx(RexxObject *)
size_t append(RexxObject *)
RexxObject * of(RexxObject **, size_t)
void merge(BaseSortComparator &comparator, RexxArray *working, size_t left, size_t mid, size_t right)
size_t addLast(RexxObject *item)
RexxString * toString(RexxString *, RexxString *)
RexxObject * join(RexxArray *)
RexxObject * removeItem(RexxObject *)
RexxObject * newRexx(RexxObject **, size_t)
RexxObject * indexToArray(size_t idx)
size_t firstChangedDimension
RexxObject * hasIndexRexx(RexxObject **, size_t)
RexxObject * deleteItem(size_t index)
RexxObject * nextRexx(RexxObject **, size_t)
RexxMessage * start(RexxObject **, size_t)
RexxInteger * available(size_t position)
RexxArray * new_externalArray(size_t s, RexxClass *c)
RexxArray * expansionArray
virtual wholenumber_t compare(RexxObject *first, RexxObject *second)
size_t addFirst(RexxObject *item)
bool hasIndexNative(size_t)
static void createInstance()
size_t insertAfter(RexxObject *item, size_t index)
RexxArray * extendMulti(RexxObject **, size_t, size_t)
size_t find(BaseSortComparator &comparator, RexxObject *val, int bnd, size_t left, size_t right)
RexxArray * stableSortWithRexx(RexxObject *comparator)
RexxObject * putRexx(RexxObject **, size_t)