<?xml version='1.0' encoding='ISO-8859-1' standalone='no'?>
<!DOCTYPE interface-description SYSTEM 'file:///usr/pkgsrc/lang/oo2c/work.macaroon/oo2c_32-2.0.11/rsrc/OOC/xml/interface-description.dtd'>
<interface-description name='ADT:StringBuffer' id=''>
  <import-decl name='Ascii' id='Ascii' export='no' module='Ascii'/>
  <import-decl name='Object' id='Object' export='no' module='Object'/>
  <type-decl name='CharsLatin1' id='CharsLatin1' export='yes'>
    <type>
      <pointer>
        <pointer-base>
          <array>
            <element-type>
              <type-name module='#predef' name='CHAR'/>
            </element-type>
          </array>
        </pointer-base>
      </pointer>
    </type>
  </type-decl>
  <type-decl name='CharsUTF16' id='CharsUTF16' export='yes'>
    <type>
      <pointer>
        <pointer-base>
          <array>
            <element-type>
              <type-name module='#predef' name='LONGCHAR'/>
            </element-type>
          </array>
        </pointer-base>
      </pointer>
    </type>
  </type-decl>
  <import-decl name='-RT0' id='-RT0' export='no' module='RT0'/>
  <import-decl name='-Object' id='-Object' export='no' module='Object'/>
  <import-decl name='-Exception' id='-Exception' export='no' module='Exception'/>
  <class name='StringBuffer'>
    <type-decl name='StringBuffer' id='StringBuffer' export='yes'>
      <type>
        <pointer>
          <pointer-base>
            <type-name name='StringBufferDesc' href='#StringBufferDesc'/>
          </pointer-base>
        </pointer>
      </type>
    </type-decl>
    <type-decl name='StringBufferDesc' id='StringBufferDesc' export='yes'>
      <oberon-doc>
        <summary>Assembles string values.</summary>
        <p pad-after='yes' no-indent='yes'>Assembles string values.  This class is mutable in the sense that it can be modified in place.  All variables sharing a reference to an instance of <oberon-type href='#StringBuffer'>StringBuffer</oberon-type> see all changes applied to it.</p>
      </oberon-doc>
      <type>
        <record>
          <field-decl name='length' id='StringBufferDesc.length' export='read-only'>
            <oberon-doc>
              <summary>The length of the current string.</summary>
              <p pad-after='yes' no-indent='yes'>The length of the current string.</p>
            </oberon-doc>
            <type>
              <type-name module='#predef' name='LONGINT'/>
            </type>
          </field-decl>
        </record>
      </type>
    </type-decl>
    <procedure name='INIT' id='StringBufferDesc.INIT' export='yes'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.INIT.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='initialCapacity' id='StringBufferDesc.INIT.initialCapacity' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='ToString' id='StringBufferDesc.ToString' export='yes'>
      <doc-inherited-from module='Object' name='ToString' class='Object' href='Object#ObjectDesc.ToString'/>
      <oberon-doc>
        <summary>Returns a string representation of the object.</summary>
        <p pad-after='yes' no-indent='yes'>Returns a string representation of the object.  Typically, the string is some form of <left-quote/>natural<right-quote/> representation of the value.  For complex objects, it should describe the type and essential attributes of the object.  The exact format of the returned value is intentionally left vague.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.ToString.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <result-type>
          <type-name name='STRING' href='#STRING'/>
        </result-type>
      </formal-parameters>
      <redefined-method module='Object' name='ToString' class='Object' href='Object#ObjectDesc.ToString'/>
    </procedure>
    <procedure name='CharAt' id='StringBufferDesc.CharAt' export='yes'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.CharAt.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='index' id='StringBufferDesc.CharAt.index' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <result-type>
          <type-name module='#predef' name='UCS4CHAR'/>
        </result-type>
      </formal-parameters>
    </procedure>
    <procedure name='Clear' id='StringBufferDesc.Clear' export='yes'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.Clear.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
      </formal-parameters>
    </procedure>
    <procedure name='EnsureCapacity' id='StringBufferDesc.EnsureCapacity' export='no'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.EnsureCapacity.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='cap' id='StringBufferDesc.EnsureCapacity.cap' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='CharsLatin1' id='StringBufferDesc.CharsLatin1' export='yes'>
      <oberon-doc>
        <summary>Return a reference to the character data of the string buffer.</summary>
        <p pad-after='yes' no-indent='yes'>Return a reference to the character data of the string buffer.  It holds valid character data in the index range <samp>0</samp> to <samp>b.length-1</samp>.  The element at index <samp>b.length</samp> is <samp>0X</samp>.  Please note that the string buffer may also contain <samp>0X</samp> itself.</p>
        <p pad-after='yes' no-indent='no'>If wide characters have been added to <oberon-param href='#StringBufferDesc.CharsLatin1.b'>b</oberon-param>, then no <oberon-type href='#CharsLatin1'>CharsLatin1</oberon-type> representation is available and result is <code>NIL</code>.</p>
        <p pad-after='yes' no-indent='no'><emph>Important</emph>: The reference only remains valid until the first operation that modifies the buffer.  After such an operation, it may or may not reflect the current buffer contents.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.CharsLatin1.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <result-type>
          <type-name name='CharsLatin1' href='#CharsLatin1'/>
        </result-type>
      </formal-parameters>
    </procedure>
    <procedure name='ConvertTo16' id='StringBufferDesc.ConvertTo16' export='no'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.ConvertTo16.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
      </formal-parameters>
    </procedure>
    <procedure name='CharsUTF16' id='StringBufferDesc.CharsUTF16' export='yes'>
      <oberon-doc>
        <summary>Return a reference to the character data of the string buffer.</summary>
        <p pad-after='yes' no-indent='yes'>Return a reference to the character data of the string buffer.  It holds valid character data in the index range <samp>0</samp> to <samp>b.length-1</samp>.  The element at index <samp>b.length</samp> is <samp>0X</samp>.  Please note that the string buffer may also contain <samp>0X</samp> itself.</p>
        <p pad-after='yes' no-indent='no'>If no wide characters have been added to <oberon-param href='#StringBufferDesc.CharsUTF16.b'>b</oberon-param>, then the internal representation is still <oberon-type href='#CharsLatin1'>CharsLatin1</oberon-type>, and result is <code>NIL</code>.</p>
        <p pad-after='yes' no-indent='no'><emph>Important</emph>: The reference only remains valid until the first operation that modifies the buffer.  After such an operation, it may or may not reflect the current buffer contents.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.CharsUTF16.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <result-type>
          <type-name name='CharsUTF16' href='#CharsUTF16'/>
        </result-type>
      </formal-parameters>
    </procedure>
    <procedure name='AppendLatin1Region' id='StringBufferDesc.AppendLatin1Region' export='yes'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.AppendLatin1Region.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='data' id='StringBufferDesc.AppendLatin1Region.data' export='no' variable-parameter='no'>
          <type>
            <array>
              <element-type>
                <type-name module='#predef' name='CHAR'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <parameter-decl name='start' id='StringBufferDesc.AppendLatin1Region.start' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <parameter-decl name='end' id='StringBufferDesc.AppendLatin1Region.end' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='AppendLatin1' id='StringBufferDesc.AppendLatin1' export='yes'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.AppendLatin1.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='data' id='StringBufferDesc.AppendLatin1.data' export='no' variable-parameter='no'>
          <type>
            <array>
              <element-type>
                <type-name module='#predef' name='CHAR'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='AppendLatin1Char' id='StringBufferDesc.AppendLatin1Char' export='yes'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.AppendLatin1Char.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='ch' id='StringBufferDesc.AppendLatin1Char.ch' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='CHAR'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='AppendLn' id='StringBufferDesc.AppendLn' export='yes'>
      <oberon-doc>
        <summary>Append a newline character <oberon-const href='Ascii#lf'>Ascii.lf</oberon-const> to the buffer.</summary>
        <p pad-after='yes' no-indent='yes'>Append a newline character <oberon-const href='Ascii#lf'>Ascii.lf</oberon-const> to the buffer.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.AppendLn.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
      </formal-parameters>
    </procedure>
    <procedure name='AppendUTF16Region' id='StringBufferDesc.AppendUTF16Region' export='yes'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.AppendUTF16Region.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='data' id='StringBufferDesc.AppendUTF16Region.data' export='no' variable-parameter='no'>
          <type>
            <array>
              <element-type>
                <type-name module='#predef' name='LONGCHAR'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <parameter-decl name='start' id='StringBufferDesc.AppendUTF16Region.start' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <parameter-decl name='end' id='StringBufferDesc.AppendUTF16Region.end' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='AppendChar' id='StringBufferDesc.AppendChar' export='yes'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.AppendChar.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='ch' id='StringBufferDesc.AppendChar.ch' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='UCS4CHAR'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='Append' id='StringBufferDesc.Append' export='yes'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.Append.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='obj' id='StringBufferDesc.Append.obj' export='no' variable-parameter='no'>
          <type>
            <type-name module='Object' name='Object' href='Object#Object'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='New' id='New' export='yes'>
      <formal-parameters>
        <parameter-decl name='str' id='New.str' export='no' variable-parameter='no'>
          <type>
            <type-name name='STRING' href='#STRING'/>
          </type>
        </parameter-decl>
        <result-type>
          <type-name name='StringBuffer' href='#StringBuffer'/>
        </result-type>
      </formal-parameters>
    </procedure>
    <procedure name='NewLatin1' id='NewLatin1' export='yes'>
      <formal-parameters>
        <parameter-decl name='str' id='NewLatin1.str' export='no' variable-parameter='no'>
          <type>
            <array>
              <element-type>
                <type-name module='#predef' name='CHAR'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <result-type>
          <type-name name='StringBuffer' href='#StringBuffer'/>
        </result-type>
      </formal-parameters>
    </procedure>
    <procedure name='NewLatin1Region' id='NewLatin1Region' export='yes'>
      <formal-parameters>
        <parameter-decl name='str' id='NewLatin1Region.str' export='no' variable-parameter='no'>
          <type>
            <array>
              <element-type>
                <type-name module='#predef' name='CHAR'/>
              </element-type>
            </array>
          </type>
        </parameter-decl>
        <parameter-decl name='start' id='NewLatin1Region.start' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <parameter-decl name='end' id='NewLatin1Region.end' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <result-type>
          <type-name name='StringBuffer' href='#StringBuffer'/>
        </result-type>
      </formal-parameters>
    </procedure>
    <procedure name='AppendInt' id='StringBufferDesc.AppendInt' export='yes'>
      <oberon-doc>
        <summary>Append the string representation of <code>LONGINT</code> <oberon-param href='#StringBufferDesc.AppendInt.val'>val</oberon-param> to the current string</summary>
        <p pad-after='yes' no-indent='yes'>Append the string representation of <code>LONGINT</code> <oberon-param href='#StringBufferDesc.AppendInt.val'>val</oberon-param> to the current string</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.AppendInt.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='val' id='StringBufferDesc.AppendInt.val' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='AppendReal' id='StringBufferDesc.AppendReal' export='yes'>
      <oberon-doc>
        <summary>Append the string representation of <code>REAL</code> <oberon-param href='#StringBufferDesc.AppendReal.val'>val</oberon-param> to the current string</summary>
        <p pad-after='yes' no-indent='yes'>Append the string representation of <code>REAL</code> <oberon-param href='#StringBufferDesc.AppendReal.val'>val</oberon-param> to the current string</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.AppendReal.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='val' id='StringBufferDesc.AppendReal.val' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='REAL'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='AppendSet' id='StringBufferDesc.AppendSet' export='yes'>
      <oberon-doc>
        <summary>Append the string representation of a <code>SET</code> <oberon-param href='#StringBufferDesc.AppendSet.val'>val</oberon-param> to the currrent string.</summary>
        <p pad-after='yes' no-indent='yes'>Append the string representation of a <code>SET</code> <oberon-param href='#StringBufferDesc.AppendSet.val'>val</oberon-param> to the currrent string.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.AppendSet.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='val' id='StringBufferDesc.AppendSet.val' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='SET'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='AppendBool' id='StringBufferDesc.AppendBool' export='yes'>
      <oberon-doc>
        <summary>Append the string representation of a <code>BOOLEAN</code> <oberon-param href='#StringBufferDesc.AppendBool.val'>val</oberon-param> to the current string.</summary>
        <p pad-after='yes' no-indent='yes'>Append the string representation of a <code>BOOLEAN</code> <oberon-param href='#StringBufferDesc.AppendBool.val'>val</oberon-param> to the current string.</p>
      </oberon-doc>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.AppendBool.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='val' id='StringBufferDesc.AppendBool.val' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='BOOLEAN'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='Insert' id='StringBufferDesc.Insert' export='yes'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.Insert.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='obj' id='StringBufferDesc.Insert.obj' export='no' variable-parameter='no'>
          <type>
            <type-name module='Object' name='Object' href='Object#Object'/>
          </type>
        </parameter-decl>
        <parameter-decl name='at' id='StringBufferDesc.Insert.at' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <procedure name='Delete' id='StringBufferDesc.Delete' export='yes'>
      <formal-parameters>
        <receiver-decl name='b' id='StringBufferDesc.Delete.b' export='no' variable-parameter='no'>
          <type>
            <type-name name='StringBuffer' href='#StringBuffer'/>
          </type>
        </receiver-decl>
        <parameter-decl name='start' id='StringBufferDesc.Delete.start' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
        <parameter-decl name='end' id='StringBufferDesc.Delete.end' export='no' variable-parameter='no'>
          <type>
            <type-name module='#predef' name='LONGINT'/>
          </type>
        </parameter-decl>
      </formal-parameters>
    </procedure>
    <base-class module='Object' class='Object' href='Object#Object'>
      <inherited-method module='Object' name='Equals' class='Object' href='Object#ObjectDesc.Equals'/>
      <inherited-method module='Object' name='HashCode' class='Object' href='Object#ObjectDesc.HashCode'/>
      <inherited-method module='Object' name='ToString' class='Object' href='Object#ObjectDesc.ToString'/>
    </base-class>
  </class>
  <module-ref name='Ascii'>
    <ref-target type='html' relative-uri='../Ascii.html'/>
  </module-ref>
  <module-ref name='Object'>
    <ref-target type='html' relative-uri='../Object.html'/>
  </module-ref>
</interface-description>
