<?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='HashCode' id=''>
  <import-decl name='SYSTEM' id='SYSTEM' export='no' module='SYSTEM'/>
  <type-decl name='Hash' id='Hash' export='yes'>
    <oberon-doc>
      <summary>The integer type used to store hash values.</summary>
      <p pad-after='yes' no-indent='yes'>The integer type used to store hash values.</p>
    </oberon-doc>
    <type>
      <type-name module='#predef' name='LONGINT'/>
    </type>
  </type-decl>
  <const-decl name='init' id='init' export='yes' value='unknown'>
    <oberon-doc>
      <summary>When computing a hash from a set of hash codes, do something along the lines of</summary>
      <p pad-after='yes' no-indent='yes'>When computing a hash from a set of hash codes, do something along the lines of</p>
      <example pad-after='yes'>x := HashCode.init;
FOREACH y IN (set of hashes) DO
  HashCode.Append(y, x);
END;
</example>
    </oberon-doc>
  </const-decl>
  <procedure name='Boolean' id='Boolean' export='yes'>
    <formal-parameters>
      <parameter-decl name='x' id='Boolean.x' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='BOOLEAN'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='#predef' name='Hash'/>
      </result-type>
    </formal-parameters>
  </procedure>
  <procedure name='Real' id='Real' export='yes'>
    <formal-parameters>
      <parameter-decl name='x' id='Real.x' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='REAL'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='#predef' name='Hash'/>
      </result-type>
    </formal-parameters>
  </procedure>
  <procedure name='LongReal' id='LongReal' export='yes'>
    <formal-parameters>
      <parameter-decl name='x' id='LongReal.x' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='LONGREAL'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='#predef' name='Hash'/>
      </result-type>
    </formal-parameters>
  </procedure>
  <procedure name='Set' id='Set' export='yes'>
    <formal-parameters>
      <parameter-decl name='x' id='Set.x' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='SET'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='#predef' name='Hash'/>
      </result-type>
    </formal-parameters>
  </procedure>
  <procedure name='Ptr' id='Ptr' export='yes'>
    <formal-parameters>
      <parameter-decl name='x' id='Ptr.x' export='no' variable-parameter='no'>
        <type>
          <type-name module='SYSTEM' name='PTR' href='SYSTEM#PTR'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='#predef' name='Hash'/>
      </result-type>
    </formal-parameters>
  </procedure>
  <procedure name='CharRegion' id='CharRegion' export='yes'>
    <formal-parameters>
      <parameter-decl name='data' id='CharRegion.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='CharRegion.start' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='LONGINT'/>
        </type>
      </parameter-decl>
      <parameter-decl name='end' id='CharRegion.end' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='LONGINT'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='#predef' name='Hash'/>
      </result-type>
    </formal-parameters>
  </procedure>
  <procedure name='LongCharRegion' id='LongCharRegion' export='yes'>
    <formal-parameters>
      <parameter-decl name='data' id='LongCharRegion.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='LongCharRegion.start' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='LONGINT'/>
        </type>
      </parameter-decl>
      <parameter-decl name='end' id='LongCharRegion.end' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='LONGINT'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='#predef' name='Hash'/>
      </result-type>
    </formal-parameters>
  </procedure>
  <procedure name='UCS4CharRegion' id='UCS4CharRegion' export='yes'>
    <formal-parameters>
      <parameter-decl name='data' id='UCS4CharRegion.data' export='no' variable-parameter='no'>
        <type>
          <array>
            <element-type>
              <type-name module='#predef' name='UCS4CHAR'/>
            </element-type>
          </array>
        </type>
      </parameter-decl>
      <parameter-decl name='start' id='UCS4CharRegion.start' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='LONGINT'/>
        </type>
      </parameter-decl>
      <parameter-decl name='end' id='UCS4CharRegion.end' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='LONGINT'/>
        </type>
      </parameter-decl>
      <result-type>
        <type-name module='#predef' name='Hash'/>
      </result-type>
    </formal-parameters>
  </procedure>
  <procedure name='Append' id='Append' export='yes'>
    <formal-parameters>
      <parameter-decl name='x' id='Append.x' export='no' variable-parameter='no'>
        <type>
          <type-name module='#predef' name='Hash'/>
        </type>
      </parameter-decl>
      <parameter-decl name='hash' id='Append.hash' export='no' variable-parameter='yes'>
        <type>
          <type-name module='#predef' name='Hash'/>
        </type>
      </parameter-decl>
    </formal-parameters>
  </procedure>
  <import-decl name='-RT0' id='-RT0' export='no' module='RT0'/>
</interface-description>
