From: <bi...@us...> - 2011-03-05 17:33:32
|
Revision: 6822 http://oorexx.svn.sourceforge.net/oorexx/?rev=6822&view=rev Author: bigrixx Date: 2011-03-05 17:33:26 +0000 (Sat, 05 Mar 2011) Log Message: ----------- RFE 3196517 Add methods to the array class for insertion/deletion Modified Paths: -------------- docs/trunk/rexxref/collclasses.xml docs/trunk/rexxref/ooRexxArrayClass.odg docs/trunk/rexxref/ooRexxArrayClass.pdf docs/trunk/rexxref/ooRexxArrayClass.png docs/trunk/rexxref/ooRexxListClass.odg docs/trunk/rexxref/ooRexxListClass.pdf docs/trunk/rexxref/ooRexxListClass.png docs/trunk/rexxref/ooRexxOrderedCollectionClass.odg docs/trunk/rexxref/ooRexxOrderedCollectionClass.pdf docs/trunk/rexxref/ooRexxOrderedCollectionClass.png docs/trunk/rexxref/ooRexxQueueClass.odg docs/trunk/rexxref/ooRexxQueueClass.pdf docs/trunk/rexxref/ooRexxQueueClass.png Modified: docs/trunk/rexxref/collclasses.xml =================================================================== --- docs/trunk/rexxref/collclasses.xml 2011-03-03 04:23:56 UTC (rev 6821) +++ docs/trunk/rexxref/collclasses.xml 2011-03-05 17:33:26 UTC (rev 6822) @@ -131,12 +131,12 @@ <link linkend="clsStem">Stem</link> <link linkend="clsTable">Table</link> <link linkend="clsIdentityTable">IdentityTable</link> - <link linkend="clsOrderedCollection">OrderedCollection</link> + <link linkend="clsOrderedCollection">OrderedCollection</link> <link linkend="clsArray">Array</link> <link linkend="clsList">List</link> <link linkend="clsQueue">Queue</link> <link linkend="clsCircularQueue">CircularQueue</link> - <link linkend="clsSetCollection">SetCollection</link> + <link linkend="clsSetCollection">SetCollection</link> <link linkend="clsBag">Bag</link> <link linkend="clsSet">Set</link> </programlisting> @@ -591,7 +591,7 @@ <para>Append an item to the end of the collection ordering. This is an abstract method that must be implemented by a subclass -if this class.</para> +of this class.</para> </section> <section id="mthOrderedCollectionAppendAll"><title>appendAll</title> @@ -611,6 +611,33 @@ allItems() method.</para> </section> +<section id="mthOrderedCollectionDelete"><title>delete</title> +<indexterm><primary>delete method</primary> +<secondary>of OrderedCollection class</secondary></indexterm> +<indexterm><primary>method</primary> +<secondary>delete method</secondary> +<tertiary>of OrderedCollection class</tertiary></indexterm> +<programlisting> +<![CDATA[ + +-,-----+ + V | +>>-delete(---index-+-)----------------------------------------->< +]]> +</programlisting> + +<para>Returns and deletes the member item with the specified +<emphasis role="italic">index</emphasis> from the collection. +If there is no +item with the specified <emphasis role="italic">index</emphasis>, +the Nil object is returned and +no item is deletes. All elements following the deleted item will be +moved up in the collection ordering and the size of the collection will be +reduced by 1 element. +Depending on the nature of the collection, +the indexes of the moved items may be modified by the deletion. +</para> +</section> + <section id="mthOrderedCollectionDifference"><title>difference</title> <indexterm><primary>difference method</primary> <secondary>of OrderedCollection class</secondary></indexterm> @@ -630,6 +657,37 @@ </para> </section> +<section id="mthOrderedCollectionInsert"><title>insert</title> +<indexterm><primary>insert method</primary> +<secondary>of OrderedCollection class</secondary></indexterm> +<indexterm><primary>method</primary> +<secondary>insert method</secondary> +<tertiary>of OrderedCollection class</tertiary></indexterm> +<programlisting> +<![CDATA[ +>>-insert(item-+--------+-)------------------------------------>< + +-,index-+ +]]> +</programlisting> + +<para>Returns a collection-supplied index for item +<emphasis role="italic">item</emphasis>, which is added to the collection. The inserted +item follows an existing item with index +<emphasis role="italic">index</emphasis> in the collection ordering. +If <emphasis role="italic">index</emphasis> is the Nil object, <emphasis role="italic">item</emphasis> +becomes the first item in the ordered collection. If you omit +<emphasis role="italic">index</emphasis>, the <emphasis role="italic">item</emphasis> becomes the last item in +the collection.</para> +<para>Inserting an item in the collection at position +<emphasis role="italic">index</emphasis> will cause the items in the collection after +position <emphasis role="italic">index</emphasis> to have their relative positions +shifted by the collection object. +Depending on the nature of the collection, the index values for any items already +in the collection may be modified by the insertion.</para> +<para>This is an abstract method that must be implemented by a subclass +of this class.</para> +</section> + <section id="mthOrderedCollectionIntersection"><title>intersection</title> <indexterm><primary>intersection method</primary> <secondary>of OrderedCollection class</secondary></indexterm> @@ -1032,6 +1090,44 @@ </programlisting> </section> +<section id="mthArrayDelete"><title>delete</title> +<indexterm><primary>delete method</primary> +<secondary>of Array class</secondary></indexterm> +<indexterm><primary>method</primary> +<secondary>delete method</secondary> +<tertiary>of Array class</tertiary></indexterm> +<programlisting> +<![CDATA[ + +-,-----+ + V | +>>-delete(---index-+-)----------------------------------------->< +]]> +</programlisting> + +<para>Returns and deletes the member item with the specified +<emphasis role="italic">index</emphasis> from the array. +If there is no +item with the specified <emphasis role="italic">index</emphasis>, +the Nil object is returned and +no item is deleted. All elements following the deleted item will be +moved up in the array ordering and the item indexes will adjusted for the deletion. The size of the collection will be +reduced by 1 element. +</para> +<para> +The delete method is only valid with single-dimension arrays. The +The <link linkend="paraArrayIndex">index</link> argument may also be specified as an array of +indexes. +</para> +<para><emphasis role="bold">Examples:</emphasis></para> +<indexterm><primary>examples</primary> +<secondary>delete method</secondary></indexterm> +<programlisting> + a = .array~of("Fred", "Mike", "Rick", "David") + a~delete(2) -- removes "Mike", resulting in the array + -- ("Fred", "Rick", "David") +</programlisting> +</section> + <section id="mthArrayDimension"><title>dimension</title> <indexterm><primary>dimension method</primary> <secondary>of Array class</secondary></indexterm> @@ -1458,10 +1554,14 @@ <emphasis role="italic">index</emphasis>es from the array. If there is no item with the specified <emphasis role="italic">index</emphasis> or <emphasis role="italic">index</emphasis>es, the Nil object is returned and -no item is removed.</para> +no item is removed. The index of the removed item becomes unused and +the hasIndex method for the given index will now return false. The size of +the array is unchanged and no other indexes of the array are modified with the +removal. +</para> <para> - Note that the <link linkend="paraArrayIndex">index</link> argument may also be specified as an array of - indexes. +Note that the <link linkend="paraArrayIndex">index</link> argument may also be specified as an array of +indexes. </para> <para><emphasis role="bold">Examples:</emphasis></para> <indexterm><primary>examples</primary> @@ -2068,6 +2168,7 @@ <member><link linkend="mthQueueAppend">append</link></member> <member><link linkend="mthQueueAt">at</link></member> <member><link linkend="mthQueueAtGet">[ ]</link></member> +<member><link linkend="mthQueueDelete">[ ]</link></member> <member><link linkend="mthQueueEmpty">empty</link></member> <member><link linkend="mthQueueFirst">first</link></member> <member><link linkend="mthQueueHasIndex">hasIndex</link></member> @@ -3237,6 +3338,31 @@ </para> </section> +<section id="mthListDelete"><title>delete</title> +<indexterm><primary>delete method</primary> +<secondary>of List class</secondary></indexterm> +<indexterm><primary>method</primary> +<secondary>delete method</secondary> +<tertiary>of List class</tertiary></indexterm> +<programlisting> +<![CDATA[ +>>-delete(---index--)----------------------------------------->< +]]> +</programlisting> + +<para>Returns and deletes the member item with the specified +<emphasis role="italic">index</emphasis> from the list. +If there is no +item with the specified <emphasis role="italic">index</emphasis>, +the Nil object is returned and +no item is deleted. All elements following the deleted item will be +moved up in the list ordering, but the indexes associated with the moved items will not change. +The size of the list will be +reduced by 1 element. +The delete method and the remove method produce the same result for the list class. +</para> +</section> + <section id="mthListEmpty"><title>empty</title> <indexterm><primary>empty method</primary> <secondary>of List class</secondary></indexterm> @@ -4084,6 +4210,38 @@ <emphasis role="italic">index</emphasis>.</para> </section> +<section id="mthQueueDelete"><title>delete</title> +<indexterm><primary>delete method</primary> +<secondary>of Queue class</secondary></indexterm> +<indexterm><primary>method</primary> +<secondary>delete method</secondary> +<tertiary>of Queue class</tertiary></indexterm> +<programlisting> +<![CDATA[ +>>-delete(---index--)----------------------------------------->< +]]> +</programlisting> + +<para>Returns and deletes the member item with the specified +<emphasis role="italic">index</emphasis> from the queue. +If there is no +item with the specified <emphasis role="italic">index</emphasis>, +the Nil object is returned and +no item is deleted. All elements following the deleted item will be +moved up in the queue ordering and the item indexes will adjusted for the deletion. The size of the collection will be +reduced by 1 element. +The delete method and the remove method produce the same result for the list class. +</para> +<para><emphasis role="bold">Examples:</emphasis></para> +<indexterm><primary>examples</primary> +<secondary>delete method</secondary></indexterm> +<programlisting> + a = .queue~of("Fred", "Mike", "Rick", "David") + a~delete(2) -- removes "Mike", resulting in the queue + -- ("Fred", "Rick", "David") +</programlisting> +</section> + <section id="mthQueueEmpty"><title>empty</title> <indexterm><primary>empty method</primary> <secondary>of Queue class</secondary></indexterm> Modified: docs/trunk/rexxref/ooRexxArrayClass.odg =================================================================== (Binary files differ) Modified: docs/trunk/rexxref/ooRexxArrayClass.pdf =================================================================== (Binary files differ) Modified: docs/trunk/rexxref/ooRexxArrayClass.png =================================================================== (Binary files differ) Modified: docs/trunk/rexxref/ooRexxListClass.odg =================================================================== (Binary files differ) Modified: docs/trunk/rexxref/ooRexxListClass.pdf =================================================================== (Binary files differ) Modified: docs/trunk/rexxref/ooRexxListClass.png =================================================================== (Binary files differ) Modified: docs/trunk/rexxref/ooRexxOrderedCollectionClass.odg =================================================================== (Binary files differ) Modified: docs/trunk/rexxref/ooRexxOrderedCollectionClass.pdf =================================================================== (Binary files differ) Modified: docs/trunk/rexxref/ooRexxOrderedCollectionClass.png =================================================================== (Binary files differ) Modified: docs/trunk/rexxref/ooRexxQueueClass.odg =================================================================== (Binary files differ) Modified: docs/trunk/rexxref/ooRexxQueueClass.pdf =================================================================== (Binary files differ) Modified: docs/trunk/rexxref/ooRexxQueueClass.png =================================================================== (Binary files differ) This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |