{% if dtype.variables|length > 0 %}
Components
{{ var_list(dtype.variables,permission=True,summary=True) }}
{% endif %}
{% if dtype.constructor %}
Constructor
{% if dtype.constructor.obj == 'interface' %}
{{ dtype.constructor.meta['summary'] }}
{% endif %}
{% if dtype.constructor.obj == 'proc' %}
{{ proc_line(dtype.constructor,display) }} | {{ dtype.constructor.meta['summary'] }} |
{% elif dtype.constructor.obj == 'interface' %}
{% for proc in dtype.constructor.functions + dtype.constructor.subroutines %}
{% if proc.parobj == 'module' or (proc.parobj == 'interface' and proc.parent.parobj == 'module') %}{{ proc.permission }} {% endif %}{% for attrib in proc.attribs -%}{{ attrib }}{% if not loop.last -%}, {%- endif %}{%- endfor %} {{ proc.proctype|lower }} {% if proc.permission in display %}{{ proc }}{% else %}{{ proc.name }}{% endif %}({% for arg in proc.args -%}{{ arg }}{% if not loop.last -%}, {% endif %}{%- endfor %}){% if proc.bindC -%}, bind(c){% endif %} | {{ proc.meta['summary'] }} |
{% endfor %}
{% for mproc in dtype.constructor.modprocs %}
{% set proc = mproc.procedure %}
{% if proc.parobj == 'module' or (proc.parobj == 'interface' and proc.parent.parobj == 'module') %}{{ proc.permission }} {% endif %}{% for attrib in proc.attribs -%}{{ attrib }}{% if not loop.last -%}, {%- endif %}{%- endfor %} {{ proc.proctype|lower }} {% if proc.permission in display %}{{ proc }}{% else %}{{ proc.name }}{% endif %}({% for arg in proc.args -%}{{ arg }}{% if not loop.last -%}, {% endif %}{%- endfor %}){% if proc.bindC -%}, bind(c){% endif %} | {{ proc.meta['summary'] }} |
{% endfor %}
{% endif %}
{% endif %}
{% if dtype.finalprocs|length > 0 %}
Finalizations Procedures
{% for fin in dtype.finalprocs %}
final :: {{ fin.name }} | {{ fin.meta['summary'] }} |
{% endfor %}
{% endif %}
{% if dtype.boundprocs|length > 0 %}
Type-Bound Procedures
{% for tb in dtype.boundprocs %}
{% if tb.generic -%}generic,{% else %}procedure,{%- endif %} {{ tb.permission }}{% if tb.attribs -%}, {% for attrib in tb.attribs -%}{{ attrib }}{% if not loop.last -%}, {% endif %}{%- endfor %}{%- endif %} :: {{ tb.name }} {% if tb.generic or tb.name != tb.bindings[0].name %} => {% for bind in tb.bindings -%}{{ bind.name }}{% if not loop.last -%}, {% endif %}{%- endfor %}{% endif %} {% if tb.binding|length == 1 %}{{ tb.bindings[0].proctype }}{% endif %} |
{{ tb.meta['summary'] }} |
{% endfor %}
{% endif %}
{% if dtype.doc or dtype.meta %}
Description
{{ meta_list(dtype.meta) }}
{{ dtype.meta['summary'] }}
{% endif %}