#include <QueueClass.hpp>
Static Public Member Functions | |
static void | createInstance () |
Static Public Member Functions inherited from RexxList | |
static void | createInstance () |
Static Public Member Functions inherited from RexxObject | |
static void | decodeMessageName (RexxObject *target, RexxObject *message, RexxString *&messageName, RexxObject *&startScope) |
static void | createInstance () |
Static Public Member Functions inherited from RexxInternalObject | |
static size_t | getObjectHeaderSize () |
Static Public Attributes | |
static RexxClass * | classInstance = OREF_NULL |
Static Public Attributes inherited from RexxList | |
static RexxClass * | classInstance = OREF_NULL |
Static Public Attributes inherited from RexxObject | |
static PCPPM | operatorMethods [] |
static RexxClass * | classInstance = OREF_NULL |
Additional Inherited Members | |
Public Attributes inherited from RexxInternalObject | |
ObjectHeader | header |
RexxBehaviour * | behaviour |
Protected Member Functions inherited from RexxVirtualBase | |
virtual | ~RexxVirtualBase () |
virtual void | baseVirtual () |
Protected Attributes inherited from RexxList | |
RexxListTable * | table |
size_t | first |
size_t | last |
size_t | count |
size_t | size |
size_t | free |
Definition at line 49 of file QueueClass.hpp.
|
inline |
Definition at line 54 of file QueueClass.hpp.
|
inline |
Definition at line 55 of file QueueClass.hpp.
RexxArray * RexxQueue::allIndexes | ( | void | ) |
Retrieve an array containing all index values for the queue. For queue classes, the indices are the integers 1 - items(), so this is generally a pretty silly way to access this.
Definition at line 345 of file QueueClass.cpp.
References RexxList::items(), new_array(), new_integer(), and RexxArray::put().
Referenced by RexxMemory::createImage().
RexxObject * RexxQueue::append | ( | RexxObject * | item | ) |
Append an item after the last item in the list.
value | The value to append. |
Definition at line 99 of file QueueClass.cpp.
References ARG_ONE, RexxList::count, new_integer(), queue(), and requiredArgument().
Referenced by RexxMemory::createImage().
RexxObject * RexxQueue::at | ( | RexxObject * | _index | ) |
Definition at line 181 of file QueueClass.cpp.
References IntegerOne, locateEntry(), OREF_NULL, TheNilObject, and listentry::value.
Referenced by RexxMemory::createImage().
|
static |
Create initial class object at bootstrap time.
Definition at line 58 of file QueueClass.cpp.
References CLASS_CREATE.
Referenced by RexxMemory::createImage().
size_t RexxQueue::entryToIndex | ( | size_t | target | ) |
Convert an entry index into a queue index relative to the beginning.
target | The target index position. |
Definition at line 486 of file QueueClass.cpp.
References ENTRY_POINTER, RexxList::first, and LIST_END.
Referenced by insert(), next(), and previous().
RexxObject * RexxQueue::firstRexx | ( | void | ) |
Definition at line 393 of file QueueClass.cpp.
References RexxList::first, IntegerOne, LIST_END, and TheNilObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxQueue::hasindex | ( | RexxObject * | _index | ) |
Definition at line 305 of file QueueClass.cpp.
References IntegerOne, locateEntry(), TheFalseObject, and TheTrueObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxQueue::index | ( | RexxObject * | target | ) |
Return the index of the first item with a matching value in the list. Returns .nil if the object is not found.
target | The target object. |
Definition at line 370 of file QueueClass.cpp.
References ARG_ONE, RexxList::count, ENTRY_POINTER, RexxObject::equalValue(), RexxList::first, new_integer(), listentry::next, requiredArgument(), TheNilObject, and listentry::value.
Referenced by RexxMemory::createImage().
RexxObject * RexxQueue::insert | ( | RexxObject * | _value, |
RexxObject * | _index | ||
) |
Insert an item into the queue at a specific index position.
value | The value to insert. |
index | The index. This can be omitted, which inserts at the end, .nil which inserts at the beginning, or a valid existing index. |
Definition at line 211 of file QueueClass.cpp.
References ARG_ONE, RexxList::count, ENTRY_INDEX, ENTRY_POINTER, entryToIndex(), Error_Incorrect_method_queue_index, RexxList::first, RexxList::getFree(), IntegerTwo, RexxList::last, LIST_END, locateEntry(), new_integer(), listentry::next, OREF_NULL, OrefSet, listentry::previous, reportException(), requiredArgument(), RexxList::table, TheNilObject, and listentry::value.
Referenced by RexxMemory::createImage().
RexxObject * RexxQueue::lastRexx | ( | void | ) |
Definition at line 410 of file QueueClass.cpp.
References RexxList::items(), RexxList::last, LIST_END, new_integer(), and TheNilObject.
Referenced by RexxMemory::createImage().
LISTENTRY * RexxQueue::locateEntry | ( | RexxObject * | _index, |
RexxObject * | position | ||
) |
Definition at line 121 of file QueueClass.cpp.
References ENTRY_POINTER, Error_Incorrect_method_noarg, Error_Incorrect_method_queue_index, RexxList::first, LIST_END, OREF_NULL, reportException(), REQUEST_INTEGER(), TheNilObject, and RexxInteger::wholeNumber().
Referenced by at(), hasindex(), insert(), next(), previous(), put(), remove(), and section().
RexxObject * RexxQueue::newRexx | ( | RexxObject ** | init_args, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 586 of file QueueClass.cpp.
References RexxClass::checkAbstract(), RexxClass::getInstanceBehaviour(), RexxInternalObject::hasUninit(), RexxClass::hasUninitDefined(), RexxQueue(), RexxObject::sendMessage(), and RexxInternalObject::setBehaviour().
Referenced by RexxMemory::createImage().
RexxObject * RexxQueue::next | ( | RexxObject * | _index | ) |
Definition at line 427 of file QueueClass.cpp.
References entryToIndex(), Error_Incorrect_method_queue_index, IntegerOne, LIST_END, locateEntry(), new_integer(), listentry::next, reportException(), and TheNilObject.
Referenced by RexxMemory::createImage().
RexxQueue * RexxQueue::ofRexx | ( | RexxObject ** | args, |
size_t | argCount, | ||
size_t | named_argCount | ||
) |
Definition at line 611 of file QueueClass.cpp.
References RexxList::addLast(), Error_Incorrect_method_noarg, OREF_NULL, reportException(), RexxQueue(), RexxObject::sendMessage(), and TheQueueClass.
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 53 of file QueueClass.hpp.
void * RexxQueue::operator new | ( | size_t | size | ) |
Definition at line 666 of file QueueClass.cpp.
References RexxList::init(), INITIAL_LIST_SIZE, RexxInternalObject::setBehaviour(), and TheQueueBehaviour.
RexxObject * RexxQueue::peek | ( | ) |
Definition at line 317 of file QueueClass.cpp.
References RexxList::firstItem().
Referenced by RexxMemory::createImage(), RexxSource::topDo(), and RexxSource::topOperator().
|
inline |
Definition at line 80 of file QueueClass.hpp.
References RexxList::removeFirst().
Referenced by RexxSource::argArray(), RexxSource::argList(), RexxSource::parseLogical(), RexxSource::popNTerms(), RexxSource::popSubTerm(), RexxSource::popTerm(), pullRexx(), RexxCompoundVariable::RexxCompoundVariable(), RexxExpressionFunction::RexxExpressionFunction(), RexxExpressionLogical::RexxExpressionLogical(), RexxExpressionMessage::RexxExpressionMessage(), RexxInstructionCall::RexxInstructionCall(), RexxInstructionDrop::RexxInstructionDrop(), RexxInstructionExpose::RexxInstructionExpose(), RexxInstructionParse::RexxInstructionParse(), RexxInstructionProcedure::RexxInstructionProcedure(), RexxInstructionRaise::RexxInstructionRaise(), RexxInstructionUpper::RexxInstructionUpper(), RexxInstructionUseStrict::RexxInstructionUseStrict(), RexxTrigger::RexxTrigger(), and RexxSource::words().
RexxObject * RexxQueue::previous | ( | RexxObject * | _index | ) |
Definition at line 453 of file QueueClass.cpp.
References entryToIndex(), Error_Incorrect_method_queue_index, IntegerOne, LIST_END, locateEntry(), new_integer(), listentry::previous, reportException(), and TheNilObject.
Referenced by RexxMemory::createImage().
RexxObject * RexxQueue::pullRexx | ( | ) |
Definition at line 64 of file QueueClass.cpp.
References OREF_NULL, pop(), and TheNilObject.
Referenced by RexxMemory::createImage(), RexxInstructionSelect::matchEnd(), RexxActivation::mergeTraps(), RexxSource::popDo(), RexxSource::popOperator(), and RexxActivation::processTraps().
|
inline |
Definition at line 81 of file QueueClass.hpp.
References RexxList::addFirst().
Referenced by RexxSource::addCompound(), RexxSource::argList(), build(), RexxVariableDictionary::buildCompoundVariable(), RexxSource::parseNew(), RexxSource::processVariableList(), pushRexx(), RexxSource::pushSubTerm(), RexxSource::pushTerm(), RexxSource::raiseNew(), RexxSource::useNew(), and RexxSource::words().
RexxObject * RexxQueue::pushRexx | ( | RexxObject * | item | ) |
Definition at line 78 of file QueueClass.cpp.
References ARG_ONE, OREF_NULL, push(), and requiredArgument().
Referenced by RexxInstructionSelect::addWhen(), RexxMemory::createImage(), RexxSource::pushDo(), and RexxSource::pushOperator().
RexxObject * RexxQueue::put | ( | RexxObject * | _value, |
RexxObject * | _index | ||
) |
Definition at line 162 of file QueueClass.cpp.
References ARG_ONE, Error_Incorrect_method_queue_index, IntegerTwo, locateEntry(), OREF_NULL, OrefSet, reportException(), requiredArgument(), RexxList::table, and listentry::value.
Referenced by RexxMemory::createImage().
|
inline |
Definition at line 82 of file QueueClass.hpp.
References RexxList::addLast().
Referenced by append(), StringUtil::makearray(), RexxSource::processVariableList(), queueRexx(), and RexxSource::raiseNew().
RexxObject * RexxQueue::queueRexx | ( | RexxObject * | item | ) |
Definition at line 109 of file QueueClass.cpp.
References ARG_ONE, OREF_NULL, queue(), and requiredArgument().
Referenced by RexxMemory::createImage().
RexxObject * RexxQueue::remove | ( | RexxObject * | _index | ) |
Definition at line 294 of file QueueClass.cpp.
References IntegerOne, locateEntry(), and RexxList::primitiveRemove().
Referenced by RexxMemory::createImage().
RexxObject * RexxQueue::section | ( | RexxObject * | _index, |
RexxObject * | _count | ||
) |
Create a sublist of this queue.
_index | The starting index |
_count | The size of the subset to extract. |
Definition at line 512 of file QueueClass.cpp.
References RexxList::addLast(), ARG_TWO, ENTRY_POINTER, Error_Incorrect_method_index, IntegerOne, isOfClass, LIST_END, locateEntry(), listentry::next, OREF_NULL, reportException(), RexxObject::requiredNonNegative(), RexxQueue(), sectionSubclass(), and listentry::value.
Referenced by RexxMemory::createImage().
RexxObject * RexxQueue::sectionSubclass | ( | LISTENTRY * | element, |
size_t | counter | ||
) |
Section method used when dealing with a subclass of the Queue class.
element | The starting element. |
counter | the number of items to extract. |
Definition at line 563 of file QueueClass.cpp.
References RexxInternalObject::behaviour, ENTRY_POINTER, RexxBehaviour::getOwningClass(), LIST_END, listentry::next, RexxObject::sendMessage(), and listentry::value.
Referenced by section().
RexxObject * RexxQueue::supplier | ( | void | ) |
Definition at line 326 of file QueueClass.cpp.
References RexxList::makeArray(), new_supplier(), and OREF_NULL.
Referenced by RexxMemory::createImage().
Definition at line 85 of file QueueClass.hpp.