<xml version="1.0" encoding="UTF-8">
    <rss version="2.0">
        <channel>
            <title>AROS-Exec :: Forum</title>
            <link>https://aros-exec.arosworld.org/</link>
            <description>No Schedule and Rocking! :: XOOPS Community Bulletin Board</description>
            <lastBuildDate>Wed, 26 Aug 2026 07:30:22 -0500</lastBuildDate>
            <docs>http://backend.userland.com/rss/</docs>
            <generator>NewBB 5</generator>
            <category>Forum</category>
            <managingEditor>admin@arosworld.org</managingEditor>
            <webMaster>admin@arosworld.org</webMaster>
            <language>en</language>
                            <image>
                    <title>AROS-Exec :: Forum</title>
                    <url>https://aros-exec.arosworld.org/modules/newbb/assets/images/logoModule.png</url>
                    <link>https://aros-exec.arosworld.org/</link>
                    <width>92</width>
                    <height>52</height>
                </image>
                                    <item>
                <title>Re: A basic linked-list class [by PortablE]</title>
                <link>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=110010</link>
                <description>PortablE::A basic linked-list class&lt;br&gt;
Attaching files doesn&#039;t seem to work, so here is a copy of those modules:&lt;br&gt;&lt;br&gt;&lt;strong&gt;cBasicList.e&lt;/strong&gt;&lt;br&gt;&lt;div class=&quot;xoopsCode&quot;&gt;&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;/*&amp;nbsp;CSH/cBasicList.e&amp;nbsp;12-11-2016&amp;nbsp;by&amp;nbsp;Chris&amp;nbsp;Handley&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A&amp;nbsp;list&amp;nbsp;implementation&amp;nbsp;which&amp;nbsp;is&amp;nbsp;&#039;as&amp;nbsp;simple&amp;nbsp;as&amp;nbsp;possible&#039;,&amp;nbsp;while&amp;nbsp;still&amp;nbsp;supporting&amp;nbsp;sub-classing,&amp;nbsp;as&amp;nbsp;well&amp;nbsp;as&amp;nbsp;removal/insertion&amp;nbsp;of&amp;nbsp;multiple&amp;nbsp;nodes&amp;nbsp;in&amp;nbsp;one&amp;nbsp;go.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Lists&amp;nbsp;are&amp;nbsp;circular,&amp;nbsp;and&amp;nbsp;always&amp;nbsp;contain&amp;nbsp;a&amp;nbsp;special&amp;nbsp;&#039;empty&#039;&amp;nbsp;node&amp;nbsp;after&amp;nbsp;any&amp;nbsp;normal&amp;nbsp;nodes.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;This&amp;nbsp;&#039;empty&#039;&amp;nbsp;node&amp;nbsp;is&amp;nbsp;known&amp;nbsp;as&amp;nbsp;the&amp;nbsp;&quot;pastEnd&quot;&amp;nbsp;node,&amp;nbsp;since&amp;nbsp;it&amp;nbsp;is&amp;nbsp;past&amp;nbsp;the&amp;nbsp;end&amp;nbsp;of&amp;nbsp;the&amp;nbsp;list.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NEVER&amp;nbsp;remove&amp;nbsp;this&amp;nbsp;node&amp;nbsp;from&amp;nbsp;the&amp;nbsp;list&amp;nbsp;(but&amp;nbsp;it&amp;nbsp;can&amp;nbsp;be&amp;nbsp;used&amp;nbsp;to&amp;nbsp;mark&amp;nbsp;the&amp;nbsp;end&amp;nbsp;of&amp;nbsp;a&amp;nbsp;range&amp;nbsp;of&amp;nbsp;nodes&amp;nbsp;that&amp;nbsp;should&amp;nbsp;be&amp;nbsp;removed).&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Optimisations&amp;nbsp;are&amp;nbsp;certainly&amp;nbsp;possible,&amp;nbsp;but&amp;nbsp;at&amp;nbsp;the&amp;nbsp;expense&amp;nbsp;of&amp;nbsp;less&amp;nbsp;readable&amp;nbsp;code&amp;nbsp;and/or&amp;nbsp;a&amp;nbsp;more&amp;nbsp;complex&amp;nbsp;interface.&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;At&amp;nbsp;which&amp;nbsp;point&amp;nbsp;it&amp;nbsp;would&amp;nbsp;no-longer&amp;nbsp;be&amp;nbsp;&#039;as&amp;nbsp;simple&amp;nbsp;as&amp;nbsp;possible&#039;!&amp;nbsp;&amp;nbsp;(And&amp;nbsp;it&#039;s&amp;nbsp;unlikely&amp;nbsp;your&amp;nbsp;program&amp;nbsp;will&amp;nbsp;be&amp;nbsp;noticably&amp;nbsp;faster...)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Still,&amp;nbsp;this&amp;nbsp;module&amp;nbsp;should&amp;nbsp;be&amp;nbsp;a&amp;nbsp;good&amp;nbsp;starting&amp;nbsp;point&amp;nbsp;for&amp;nbsp;your&amp;nbsp;own&amp;nbsp;list&amp;nbsp;classes.&lt;br /&gt;*/&lt;br /&gt;/*&amp;nbsp;Public&amp;nbsp;methods&amp;nbsp;of&amp;nbsp;*cBasicList*:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;infoStart()&amp;nbsp;&amp;nbsp;&amp;nbsp;RETURNS&amp;nbsp;&amp;nbsp;&amp;nbsp;start:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;infoPastEnd()&amp;nbsp;RETURNS&amp;nbsp;pastEnd:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;create()&amp;nbsp;RETURNS&amp;nbsp;node:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;destroy(first:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode,&amp;nbsp;pastLast=NIL:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;helper&amp;nbsp;methods:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isEmpty()&amp;nbsp;RETURNS&amp;nbsp;isEmpty:BOOL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;append(nodes:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prepend(nodes:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&lt;br /&gt;*/&lt;br /&gt;/*&amp;nbsp;Public&amp;nbsp;methods&amp;nbsp;of&amp;nbsp;*cBasicNode*:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;infoNext()&amp;nbsp;RETURNS&amp;nbsp;next:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;infoPrev()&amp;nbsp;RETURNS&amp;nbsp;prev:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;beforeInsert(nodes:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;afterInsert(nodes:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;remove(pastLast=NIL:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&amp;nbsp;RETURNS&amp;nbsp;nodes:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;helper&amp;nbsp;methods:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;read()&amp;nbsp;RETURNS&amp;nbsp;data&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;/*****************************/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;CLASS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;cBasicList&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;circular&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;list&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;empty&amp;nbsp;node&amp;nbsp;after&amp;nbsp;last&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;real&#039;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&amp;nbsp;in&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;list&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;ENDCLASS&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;new()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;create&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;end&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;IF&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&amp;nbsp;THEN&amp;nbsp;END&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SUPER&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;end&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;infoStart&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList&amp;nbsp;IS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;infoPastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList&amp;nbsp;IS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;create&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList&amp;nbsp;RETURNS&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEF&amp;nbsp;newNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;newNode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;makeNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;newNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.new()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;newNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;newNode&lt;br /&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;destroy&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;first&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastLast&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NIL&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEF&amp;nbsp;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;IF&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;first&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;remove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastLast&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;THEN&amp;nbsp;END&amp;nbsp;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&lt;br /&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;helper&amp;nbsp;methods&lt;br /&gt;PROC&amp;nbsp;isEmpty&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList&amp;nbsp;RETURNS&amp;nbsp;isEmpty&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;BOOL&amp;nbsp;IS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&lt;br /&gt;PROC&amp;nbsp;&amp;nbsp;append&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList&amp;nbsp;IS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;beforeInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PROC&amp;nbsp;prepend&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList&amp;nbsp;IS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;afterInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&lt;br /&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PROTECTED&lt;br /&gt;PROC&amp;nbsp;makeNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList&amp;nbsp;RETURNS&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;NEW&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;br /&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;/*****************************/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;CLASS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;next&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prev&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;ENDCLASS&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PROTECTED&lt;br /&gt;PROC&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;new()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode&amp;nbsp;IS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;EMPTY&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PROC&amp;nbsp;end&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEF&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;destroy&amp;nbsp;later&amp;nbsp;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;without&amp;nbsp;using&amp;nbsp;the&amp;nbsp;stack&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NIL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;next&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;WHILE&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;next&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;END&amp;nbsp;node&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;ENDWHILE&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;SUPER&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;end&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;infoNext&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode&amp;nbsp;IS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;infoPrev&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode&amp;nbsp;IS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;insert&amp;nbsp;the&amp;nbsp;supplied&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;before&amp;nbsp;us&lt;br /&gt;PROC&amp;nbsp;beforeInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEF&amp;nbsp;firstNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;lastNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;beforeInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;afterInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;IF&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NIL&amp;nbsp;THEN&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;RETURN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;lastNodes&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstNodes&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;lastNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;beforeInsert&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;afterInsert&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;beforeInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;beforeInsert&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;afterInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;lastNodes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;beforeInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;firstNodes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;afterInsert&lt;br /&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;insert&amp;nbsp;the&amp;nbsp;supplied&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;s&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;after&amp;nbsp;us&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NOTE&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;Inserting&amp;nbsp;after&amp;nbsp;the&amp;nbsp;pastEnd&amp;nbsp;node&amp;nbsp;will&amp;nbsp;put&amp;nbsp;the&amp;nbsp;nodes&amp;nbsp;at&amp;nbsp;the&amp;nbsp;START&amp;nbsp;of&amp;nbsp;the&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;list!&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PROC&amp;nbsp;afterInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEF&amp;nbsp;firstNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;lastNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;beforeInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;afterInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;IF&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NIL&amp;nbsp;THEN&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;RETURN&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;lastNodes&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstNodes&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;lastNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;nodes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;beforeInsert&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;afterInsert&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;beforeInsert&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;afterInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;lastNodes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;beforeInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;firstNodes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;afterInsert&lt;br /&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;remove&amp;nbsp;the&amp;nbsp;current&amp;nbsp;node&amp;nbsp;from&amp;nbsp;the&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;list,&amp;nbsp;or&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;a&amp;nbsp;range&amp;nbsp;of&amp;nbsp;nodes&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;if&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;pastLast&quot;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;is&amp;nbsp;supplied&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NOTE&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;It&amp;nbsp;will&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;return&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NIL&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;for&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;an&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;empty&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;range&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;i&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;e&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;when&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&quot;pastLast&quot;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;is&amp;nbsp;the&amp;nbsp;same&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;as&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;the&amp;nbsp;current&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;).&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PROC&amp;nbsp;remove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastLast&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NIL&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode&amp;nbsp;RETURNS&amp;nbsp;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DEF&amp;nbsp;firstNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;lastNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;beforeRemove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;afterRemove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;IF&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastLast&amp;nbsp;THEN&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;RETURN&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NIL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nodes&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstNodes&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastNodes&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;IF&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastLast&amp;nbsp;THEN&amp;nbsp;pastLast&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;ELSE&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;beforeRemove&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;firstNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;afterRemove&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;lastNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;firstNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;lastNodes&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;afterRemove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;beforeRemove&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;beforeRemove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;afterRemove&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;lastNodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;firstNodes&lt;br /&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;helper&amp;nbsp;methods&lt;br /&gt;PROC&amp;nbsp;read&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode&amp;nbsp;RETURNS&amp;nbsp;data&amp;nbsp;IS&amp;nbsp;0&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;/*****************************/&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;strong&gt;cBasicList_STRING.e&lt;/strong&gt;&lt;br&gt;&lt;div class=&quot;xoopsCode&quot;&gt;&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;/*&amp;nbsp;CSH/cBasicList_STRING.e&amp;nbsp;12-11-2016&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A&amp;nbsp;sub-class&amp;nbsp;of&amp;nbsp;cBasicList&amp;nbsp;for&amp;nbsp;STRINGs.&lt;br /&gt;*/&lt;br /&gt;/*&amp;nbsp;Public&amp;nbsp;methods&amp;nbsp;of&amp;nbsp;*cBasicList_STRING*:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;new()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;infoStart()&amp;nbsp;&amp;nbsp;&amp;nbsp;RETURNS&amp;nbsp;&amp;nbsp;&amp;nbsp;start:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;infoPastEnd()&amp;nbsp;RETURNS&amp;nbsp;pastEnd:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;create(string=NILS:OWNS&amp;nbsp;STRING)&amp;nbsp;RETURNS&amp;nbsp;node:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;destroy(first:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode,&amp;nbsp;pastLast=NIL:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;helper&amp;nbsp;methods:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;isEmpty()&amp;nbsp;RETURNS&amp;nbsp;isEmpty:BOOL&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;append(nodes:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;prepend(nodes:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&lt;br /&gt;*/&lt;br /&gt;/*&amp;nbsp;Public&amp;nbsp;methods&amp;nbsp;of&amp;nbsp;*cBasicNode_STRING*:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;infoNext()&amp;nbsp;RETURNS&amp;nbsp;next:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;infoPrev()&amp;nbsp;RETURNS&amp;nbsp;prev:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;beforeInsert(nodes:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;afterInsert(nodes:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;remove(pastLast=NIL:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode)&amp;nbsp;RETURNS&amp;nbsp;nodes:PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;helper&amp;nbsp;methods:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;read()&amp;nbsp;RETURNS&amp;nbsp;data:STRING&lt;br /&gt;*/&lt;br /&gt;/*&amp;nbsp;Public&amp;nbsp;members&amp;nbsp;of&amp;nbsp;*cBasicNode_STRING*:&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;data:OWNS&amp;nbsp;STRING&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;PUBLIC&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;MODULE&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;*cBasicList&#039;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;/*****************************/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;CLASS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;cBasicList_STRING&amp;nbsp;OF&amp;nbsp;cBasicList&lt;br /&gt;ENDCLASS&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;new()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SUPER&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.new()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;cBasicNode_STRING&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;data&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;NEW&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;&#039;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;infoStart&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList_STRING&amp;nbsp;IS&amp;nbsp;SUPER&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoStart&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()::&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;cBasicNode_STRING&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;infoPastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList_STRING&amp;nbsp;IS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;cBasicNode_STRING&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;create&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NILS&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;STRING&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList_STRING&amp;nbsp;RETURNS&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;SUPER&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;create&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()::&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;data&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PASS&amp;nbsp;string&lt;br /&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PROTECTED&lt;br /&gt;PROC&amp;nbsp;makeNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicList_STRING&amp;nbsp;RETURNS&amp;nbsp;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;NEW&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;br /&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #FF8000&quot;&gt;/*****************************/&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;CLASS&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;cBasicNode_STRING&amp;nbsp;OF&amp;nbsp;cBasicNode&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;PUBLIC&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;STRING&lt;br /&gt;ENDCLASS&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;end&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;END&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;data&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SUPER&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;end&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;infoNext&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode_STRING&amp;nbsp;IS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;next&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;cBasicNode_STRING&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;infoPrev&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode_STRING&amp;nbsp;IS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;prev&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;::&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;cBasicNode_STRING&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;remove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastLast&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;NIL&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode_STRING&amp;nbsp;RETURNS&amp;nbsp;nodes&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;nodes&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;SUPER&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;remove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastLast&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)::&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;cBasicNode_STRING&lt;br /&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;read&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OF&amp;nbsp;cBasicNode_STRING&amp;nbsp;IS&amp;nbsp;self&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;data&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;strong&gt;cBasicList_STRING_test.e&lt;/strong&gt;&lt;br&gt;&lt;div class=&quot;xoopsCode&quot;&gt;&lt;code&gt;&lt;span style=&quot;color: #000000&quot;&gt;
&lt;span style=&quot;color: #0000BB&quot;&gt;MODULE&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;*cBasicList_STRING&#039;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PROC&amp;nbsp;main&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;DEF&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;list:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;OWNS&amp;nbsp;PTR&amp;nbsp;TO&amp;nbsp;cBasicList_STRING&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;floating&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;build&amp;nbsp;a&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;list&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;NEW&amp;nbsp;list.new()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;create&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(NEW&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;Hello&amp;nbsp;&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;create&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(NEW&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;new&amp;nbsp;&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;append&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;create&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(NEW&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;world!&amp;nbsp;&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;printList&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(list)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;Hello&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;new&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;world&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;!&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;do&amp;nbsp;some&amp;nbsp;tests&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoStart&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;floating&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;remove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoPastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;beforeInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;floating&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;printList&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(list)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;new&amp;nbsp;world&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;!&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;Hello&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;node&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoPastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoPrev&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;floating&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;remove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoStart&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;beforeInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;floating&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;printList&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(list)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;Hello&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;new&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;world&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;!&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoStart&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;floating&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;remove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoPastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;afterInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;floating&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;printList&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(list)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;Hello&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;new&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;world&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;!&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoStart&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoNext&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;floating&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;remove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoStart&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;beforeInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;floating&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;printList&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(list)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;new&amp;nbsp;Hello&amp;nbsp;world&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;!&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoStart&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;floating&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;remove&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoPastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoPrev&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoPastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;().&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;beforeInsert&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;floating&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;printList&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(list)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;world&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;!&amp;nbsp;new&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;Hello&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;Print(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;Finished.\n&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;FINALLY&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PrintException&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;END&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;list&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;ENDPROC&lt;br /&gt;&lt;br /&gt;PROC&amp;nbsp;printList&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;(list:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicList_STRING&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;DEF&amp;nbsp;pastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;PTR&amp;nbsp;TO&amp;nbsp;cBasicNode_STRING&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pastEnd&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoPastEnd&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;list.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoStart&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WHILE&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;&amp;lt;&amp;gt;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;pastEnd&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;Print(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;data&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;-&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;or&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;Print(&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;read&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;())&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;:=&amp;nbsp;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;node&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;.&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;infoNext&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ENDWHILE&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Print(&lt;/span&gt;&lt;span style=&quot;color: #DD0000&quot;&gt;&#039;\n&#039;&lt;/span&gt;&lt;span style=&quot;color: #007700&quot;&gt;)&lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;color: #0000BB&quot;&gt;ENDPROC&lt;/span&gt;
&lt;/span&gt;
&lt;/code&gt;&lt;/div&gt;</description>
                <pubDate>Sun, 07 Oct 2018 13:19:38 -0500</pubDate>
                <guid>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=110010</guid>
            </item>
                        <item>
                <title>About the undocument PASS &amp; NULL keywords, and the barely documented OWNS ! [by PortablE]</title>
                <link>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=110009</link>
                <description>PortablE::About the undocument PASS &amp; NULL keywords, and the barely documented OWNS !&lt;br&gt;
(Originally posted on 15-11-2016 to amigacoding.de)&lt;br&gt;&lt;br&gt;If you are interested in understanding the code of my recently-posted &lt;a href=&quot;http://aros-exec.org/modules/newbb/viewtopic.php?topic_id=11005&amp;forum=28&quot; rel=&quot;noopener external&quot; title=&quot;&quot;&gt;cBasicList.e module&lt;/a&gt;, or possibly some of my other modules in PEmodules:CSH, then it may help to understand the &amp;quot;OWNS&amp;quot;, &amp;quot;PASS&amp;quot; &amp; &amp;quot;NULL&amp;quot; keywords.  &amp;quot;OWNS&amp;quot; only get&#039;s a brief mention in the Standard Functionality guide, while &amp;quot;PASS&amp;quot; &amp; &amp;quot;NULL&amp;quot; have been completely UNdocumented until now...&lt;br&gt;&lt;br&gt;If you see &amp;quot;OWNS&amp;quot; as part of a variable&#039;s (or object member&#039;s) type, you can safely ignore it, because that is what PortablE currently does!  However, it is a hint that variable has ownership (i.e.  deallocation responsibility) for that particular pointer (or array or e-string or e-list).  If it&#039;s part of a local variable, then usually that variable should be ENDed when the procedure finishes.  If it&#039;s part of an object member, then that member should be ENDed as part of the object&#039;s end() method.&lt;br&gt;&lt;br&gt;If you see &amp;quot;OWNS&amp;quot; as part of a &lt;strong&gt;parameter&lt;/strong&gt; or &lt;strong&gt;return variable&lt;/strong&gt;, then it&#039;s a hint that ownership (i.e.  deallocation responsibility) is being passed into or out of that procedure.&lt;br&gt;&lt;br&gt;&lt;br&gt;What about &amp;quot;PASS&amp;quot;?  You cannot ignore this, because it actually does something!  Here is an example:&lt;br&gt;Quote:&lt;div class=&quot;xoopsQuote&quot;&gt;&lt;blockquote&gt;DEF var1:OWNS PTR TO example, var2:OWNS PTR TO example&lt;br&gt;var2 := PASS var1&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;What this does is to pass ownership from var1 to var2.  &amp;quot;PASS&amp;quot; does this by evaluating to the original value of &amp;quot;var1&amp;quot; after it has assigned NIL to var1.  This ensures that the pointer is only ever owned by one variable (var1 or var2), and so you cannot get into a situation where your program tries to destroy the same object twice.  Most of the time you can imagine the above code as equivalent to this:&lt;br&gt;Quote:&lt;div class=&quot;xoopsQuote&quot;&gt;&lt;blockquote&gt;DEF var1:OWNS PTR TO example, var2:OWNS PTR TO example&lt;br&gt;var2 := var1&lt;br&gt;var1 := NIL&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;HOWEVER, this simple story is not quite accurate, and so here&#039;s what actually happens:&lt;br&gt;Quote:&lt;div class=&quot;xoopsQuote&quot;&gt;&lt;blockquote&gt;DEF var1:OWNS PTR TO example, var2:OWNS PTR TO example, temp:PTR TO example&lt;br&gt;temp := var1&lt;br&gt;var1 := NIL&lt;br&gt;var2 := temp&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;When would this make a difference?  If you tried to be clever &amp; do something like this:&lt;br&gt;Quote:&lt;div class=&quot;xoopsQuote&quot;&gt;&lt;blockquote&gt;var1.member := PASS var1&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;You MIGHT imagine that var1 get&#039;s stored in it&#039;s own member, before it get&#039;s NILed... but in actual fact it will lead to a crash, because var1 get&#039;s NILed before the assignment occurs, so the code would end-up trying to assign to the member of a NIL pointer!  I should probably make PortablE detect &amp; warn about these kinds of situations, at least once &amp;quot;PASS&amp;quot; becomes a properly documented part of the language.&lt;br&gt;&lt;br&gt;&lt;br&gt;The &amp;quot;NULL&amp;quot; keyword is somewhat similar to &amp;quot;OWNS&amp;quot; in that it is used as part of a variables type, but is currently ignored by PortablE!  It is only used with procedure parameters (or possibly return variables).  When you see it used with a procedure parameter, it is an indication that parameter is allowed to be NIL.  i.e. The procedure will function just fine if you pass it NIL or NILA (as appropriate).  For example:&lt;br&gt;Quote:&lt;div class=&quot;xoopsQuote&quot;&gt;&lt;blockquote&gt;PROC example(param1:NULL PTR TO cBasicNode)&lt;/blockquote&gt;&lt;/div&gt;</description>
                <pubDate>Sun, 07 Oct 2018 12:56:43 -0500</pubDate>
                <guid>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=110009</guid>
            </item>
                        <item>
                <title>Re: Alternative forum for PortablE [by PortablE]</title>
                <link>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=108747</link>
                <description>PortablE::Alternative forum for PortablE&lt;br&gt;
Sadly it looks like that forum is down at the moment, due to GDPR lawsuit fears, but it may return:&lt;br&gt;http://eab.abime.net/showthread.php?p=1246647&amp;styleid=4</description>
                <pubDate>Fri, 22 Jun 2018 18:15:38 -0500</pubDate>
                <guid>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=108747</guid>
            </item>
                        <item>
                <title>Re: Open serial device, error passing parameter [by asrael22]</title>
                <link>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=102511</link>
                <description>PortablE::Open serial device, error passing parameter&lt;br&gt;
OK, I got it.&lt;br&gt;There is a struct &#039;iostd&#039; in &#039;ioextser&#039; which is defined in exec/io and contains the fields &#039;command&#039;, &#039;actual&#039;, etc.&lt;br&gt;&lt;br&gt;&lt;br&gt;Thanks,&lt;br&gt;Manfred</description>
                <pubDate>Sun, 15 Jan 2017 09:03:09 -0500</pubDate>
                <guid>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=102511</guid>
            </item>
                        <item>
                <title>Re: HOW TO GET A QUICK REPLY to your question [by asrael22]</title>
                <link>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=102498</link>
                <description>PortablE::HOW TO GET A QUICK REPLY to your question&lt;br&gt;
New thread opened.&lt;br&gt;Thanks.</description>
                <pubDate>Sat, 14 Jan 2017 15:12:34 -0500</pubDate>
                <guid>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=102498</guid>
            </item>
                        <item>
                <title>PortablE r6 beta released [by PortablE]</title>
                <link>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=99268</link>
                <description>PortablE::PortablE r6 beta released&lt;br&gt;
&lt;img src=&#039;http://cshandley.co.uk/portable/PortablE_small_logo.PNG&#039; border=&#039;0&#039; alt=&#039;Original Image&#039;  onload=&quot;javascript:resizeImage(this, 300)&quot;/&gt;&lt;br&gt;&lt;strong&gt;PortablE is a recreation of the AmigaE programming language, along with all the improvements I wanted.  PortablE works on AmigaOS4, AROS, MorphOS, and even Windows to an extent!  (It should also work on AmigaOS3, but compiling needs a powerful machine like WinUAE.)&lt;br&gt;&lt;br&gt;This is a small update, which improves (OS4) ReAction support, makes any generated MUI/ReAction code human-readable, and fixes a few bugs.&lt;/strong&gt;.&lt;br&gt;&lt;br&gt;Previous versions of PortablE were aimed at existing AmigaE users, but PortablE now aims to be attractive for new users too.  Although it&#039;s still &amp;quot;beta&amp;quot;, it should work well, and further incompatible changes seem unlikely.&lt;br&gt;&lt;br&gt;See the main manual for everything that has changed since r5.  There have been the following big changes since the last beta:&lt;br&gt;* Built-in procedures can now support unlimited parameters (although only some have been updated to use this ability).&lt;br&gt;* Improved MUI &amp; ReAction modules to use procedures with unlimited parameters (instead of immedate tag lists).  So the C/C++ code generated for GUIs is now human-readable!&lt;br&gt;* Added the NoListOptim switch, so that the code generated for Immediate Lists can be more human-readable.&lt;br&gt;* AmigaOS4: Added the &#039;intuition/menuclass&#039; module, aka &amp;quot;AISS menus&amp;quot;, and the example program &amp;quot;Examples/Amiga/OS4_ReAction/MenuClass.e&amp;quot;.&lt;br&gt;* When a bug exception was thrown during compilation, it could give the wrong message.  Now fixed.&lt;br&gt;* Fixed a few module bugs.&lt;br&gt;&lt;br&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;You can download it from here:&lt;/span&gt;&lt;br&gt;&lt;a href=&quot;http://aminet.net/package/dev/e/PortablE&quot; rel=&quot;noopener external&quot; title=&quot;&quot;&gt;Aminet&lt;/a&gt;&lt;br&gt;&lt;a href=&quot;http://os4depot.net/index.php?function=showfile&amp;file=development/language/portable.lha&quot; rel=&quot;noopener external&quot; title=&quot;&quot;&gt;OS4Depot&lt;/a&gt;&lt;br&gt;     &lt;br&gt;PortablE comes with documentation, but you can find on-line documentation, examples &amp; the latest version of PortablE from it&#039;s homepage:&lt;br&gt;&lt;a href=&quot;http://cshandley.co.uk/portable&quot; rel=&quot;noopener external&quot; title=&quot;&quot;&gt;cshandley.co.uk/portable&lt;/a&gt;</description>
                <pubDate>Wed, 27 Apr 2016 10:58:13 -0500</pubDate>
                <guid>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=99268</guid>
            </item>
                        <item>
                <title>Re: Unicode support in PortablE [by PortablE]</title>
                <link>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=98467</link>
                <description>PortablE::Unicode support in PortablE&lt;br&gt;
&lt;strong&gt;If possible&lt;/strong&gt;, I&#039;d rather not add both TTEngine AND Scintilla to PortablE, since that potentially means wasted work.  However, &lt;strong&gt;if you think that at least one of them would likely be acceptable (?)&lt;/strong&gt;, then I&#039;ll start looking at both (maybe they will be easy enough that I feel like doing both).&lt;br&gt;&lt;br&gt;BTW, the &amp;quot;Examples/std/GUI/Amiga/NativeGuiExample.e&amp;quot; example shows how to add existing MUI components to cGUI.  There is a &amp;quot;simple&amp;quot; way which is quick&#039;n&#039;dirty (but looks a bit ugly), and there is a &amp;quot;native&amp;quot; way which requires more code initially (but is much nicer to repeatedly use).  There is basic documentation here:&lt;br&gt;http://cshandley.co.uk/portable/StandardFunctionality.html#23_34&lt;br&gt;and here for the AddNativeSimple() procedure:&lt;br&gt;http://cshandley.co.uk/portable/StandardFunctionality.html#23_2</description>
                <pubDate>Sun, 28 Feb 2016 16:20:46 -0500</pubDate>
                <guid>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=98467</guid>
            </item>
                        <item>
                <title>Re: Using a C++ compiled .a library [by PortablE]</title>
                <link>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=98466</link>
                <description>PortablE::Using a C++ compiled .a library&lt;br&gt;
Quote:&lt;div class=&quot;xoopsQuote&quot;&gt;&lt;blockquote&gt;Well, it&#039;s a bunch of header files, ~20 or so.&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;That sounds like a fair bit of work, unless they are small header files?  Also procedures tend to be more work than constants, objects, etc.&lt;br&gt;&lt;br&gt;Without seeing them myself, it&#039;s a bit hard to guage how much work it would be.  I can send you my semi-automated tool, if you wish to try to do it yourself?</description>
                <pubDate>Sun, 28 Feb 2016 16:06:38 -0500</pubDate>
                <guid>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=98466</guid>
            </item>
                        <item>
                <title>Re: How to speed up compilation process [by PortablE]</title>
                <link>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=98011</link>
                <description>PortablE::How to speed up compilation process&lt;br&gt;
Quote:&lt;div class=&quot;xoopsQuote&quot;&gt;&lt;blockquote&gt;if variables can be declared anywhere in the code. Can this be done in PortablE? AFAIK in standard AmigaE this is not possible?&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;It&#039;s not possible in AmigaE nor PortablE, but it is something I&#039;d like to add, mainly because it could greatly simplify code that uses temporary variables.&lt;br&gt;&lt;br&gt;However, it would basically be a kludge, in that the variable&#039;s scope would still be the whole procedure, no matter where it was declared.  So you would not be able to declare two variables with the same name in different parts of the same procedure.</description>
                <pubDate>Sun, 10 Jan 2016 19:07:34 -0500</pubDate>
                <guid>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=98011</guid>
            </item>
                        <item>
                <title>Re: MorphOS and TCP [by asrael22]</title>
                <link>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=98006</link>
                <description>PortablE::MorphOS and TCP&lt;br&gt;
All right.&lt;br&gt;I just needed some HTTP client functionality.&lt;br&gt;For now I can live with a simple cURL wrapper.&lt;br&gt;&lt;br&gt;&lt;br&gt;Manfred</description>
                <pubDate>Sat, 09 Jan 2016 18:14:34 -0500</pubDate>
                <guid>https://aros-exec.arosworld.org/modules/newbb/viewtopic.php?post_id=98006</guid>
            </item>
                    </channel>
    </rss>
</xml>