.. index:: single: proto_hierarchyp
.. _proto_hierarchyp/0:

.. rst-class:: right

**protocol**

``proto_hierarchyp``
====================

Prototype hierarchy protocol.

| **Availability:** 
|    ``logtalk_load(hierarchies(loader))``

| **Author:** Paulo Moura
| **Version:** 1:1:0
| **Date:** 2006-02-20

| **Compilation flags:**
|    ``static``


| **Extends:**
|    ``public`` :ref:`hierarchyp <hierarchyp/0>`

| **Remarks:**
|    (none)

| **Inherited public predicates:**
|     :ref:`hierarchyp/0::ancestor/1`  :ref:`hierarchyp/0::ancestors/1`  :ref:`hierarchyp/0::descendant/1`  :ref:`hierarchyp/0::descendants/1`  :ref:`hierarchyp/0::leaf/1`  :ref:`hierarchyp/0::leaves/1`  

.. contents::
   :local:
   :backlinks: top

Public predicates
-----------------

.. index:: parent/1
.. _proto_hierarchyp/0::parent/1:

``parent/1``
^^^^^^^^^^^^

Returns, by backtracking, all object parents.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``parent(Parent)``
| **Mode and number of proofs:**
|    ``parent(?object)`` - ``zero_or_more``


------------

.. index:: parents/1
.. _proto_hierarchyp/0::parents/1:

``parents/1``
^^^^^^^^^^^^^

List of all object parents.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``parents(Parents)``
| **Mode and number of proofs:**
|    ``parents(-list)`` - ``one``


------------

.. index:: extension/1
.. _proto_hierarchyp/0::extension/1:

``extension/1``
^^^^^^^^^^^^^^^

Returns, by backtracking, all object direct descendants.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``extension(Extension)``
| **Mode and number of proofs:**
|    ``extension(?object)`` - ``zero_or_more``


------------

.. index:: extensions/1
.. _proto_hierarchyp/0::extensions/1:

``extensions/1``
^^^^^^^^^^^^^^^^

List of all object direct descendants.

| **Compilation flags:**
|    ``static``

| **Template:**
|    ``extensions(Extensions)``
| **Mode and number of proofs:**
|    ``extensions(-list)`` - ``one``


------------

Protected predicates
--------------------

(no local declarations; see entity ancestors if any)

Private predicates
------------------

(no local declarations; see entity ancestors if any)

Operators
---------

(none)

.. seealso::

   :ref:`proto_hierarchy <proto_hierarchy/0>`

