$save nolist /* *============================================================================ * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE * * Permission to use for any purpose, modify, copy, and make enhancements * and derivative works of the software is granted if attribution is given to * R.M. Gillmore, dba the ACME Software Deli, as the author * * While the ACME Software Deli does not work for money, there is nonetheless * a significant amount of work involved. The ACME Software Deli maintains the * rights to all code written, though it may be used and distributed as long as * the following conditions are maintained. * * 1. The copyright statement at the top of each code block is maintained in * your distribution. * 2. You do not identify yourself as the ACME Software Deli * 3. Any changes made to the software are sent to the ACME Software Deli *============================================================================ */ /* * $Id: arrayMgr.ext 1157 2025-05-05 00:35:39Z rmgillmore $ */ $if not ARRAYMGR_EXT_INCLUDED $set (ARRAYMGR_EXT_INCLUDED) $if not arrayManagerSource $include (..\lib\numStrs.ext) /* ******************************************************** * Constructors ******************************************************** */ createArray: procedure ( numberElements, arrayElementType ) pointer external; declare numberElements integer, arrayElementType numberReportType; end createArray; deleteArray: procedure ( basePtr ) external; declare basePtr pointer; end deleteArray; /* ******************************************************** * Accessors ******************************************************** */ arrayLength: procedure ( basePtr ) integer external; declare basePtr pointer; end arrayLength; reportArray: procedure ( basePtr ) external; declare basePtr pointer; end reportArray; getElement: procedure ( basePtr, index, elementPtr, statusPtr ) external; declare basePtr pointer, index integer, elementPtr pointer, statusPtr pointer; end getElement; nextElement: procedure ( basePtr, elementPtr, statusPtr ) external; declare basePtr pointer, elementPtr pointer, statusPtr pointer; end nextElement; /* ******************************************************** * Manipulators ******************************************************** */ rewindArray: procedure ( basePtr ) external; declare basePtr pointer; end rewindArray; appendElement: procedure ( basePtr, elementValuePtr, statusPtr ) external; declare basePtr pointer, elementValuePtr pointer, statusPtr pointer; end appendElement; detachElement: procedure ( basePtr, elementValuePtr, statusPtr ) external; declare basePtr pointer, elementValuePtr pointer, statusPtr pointer; end detachElement; pushElement: procedure ( basePtr, elementValuePtr, statusPtr ) external; declare basePtr pointer, elementValuePtr pointer, statusPtr pointer; end pushElement; popElement: procedure ( basePtr, elementValuePtr, statusPtr ) external; declare basePtr pointer, elementValuePtr pointer, statusPtr pointer; end popElement; setElement: procedure ( basePtr, index, elementValuePtr, statusPtr ) external; declare basePtr pointer, index integer, elementValuePtr pointer, statusPtr pointer; end setElement; insertElementAt: procedure ( basePtr, index, elementValuePtr ) external; declare basePtr pointer, index integer, elementValuePtr pointer; end insertElementAt; removeElementAt: procedure ( basePtr, index ) external; declare basePtr pointer, index integer; end removeElementAt; $endif $endif $restore