.. index:: class_hierarchyp
.. _class_hierarchyp/0:

.. rst-class:: right

**protocol**

``class_hierarchyp``
====================

Class hierarchy protocol.

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

| **Author:** Paulo Moura
| **Version:** 1:0:0
| **Date:** 2000-07-24

| **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:: class/1
.. _class_hierarchyp/0::class/1:

``class/1``
^^^^^^^^^^^

Returns, by backtracking, all object classes.

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

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


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

.. index:: classes/1
.. _class_hierarchyp/0::classes/1:

``classes/1``
^^^^^^^^^^^^^

List of all object classes.

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

| **Template:**
|    ``classes(Classes)``
| **Mode and number of proofs:**
|    ``classes(-list)`` - ``one``


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

.. index:: instance/1
.. _class_hierarchyp/0::instance/1:

``instance/1``
^^^^^^^^^^^^^^

Returns, by backtracking, all class instances.

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

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


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

.. index:: instances/1
.. _class_hierarchyp/0::instances/1:

``instances/1``
^^^^^^^^^^^^^^^

List of all class instances.

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

| **Template:**
|    ``instances(Instances)``
| **Mode and number of proofs:**
|    ``instances(-list)`` - ``one``


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

.. index:: subclass/1
.. _class_hierarchyp/0::subclass/1:

``subclass/1``
^^^^^^^^^^^^^^

Returns, by backtracking, all class subclasses.

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

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


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

.. index:: subclasses/1
.. _class_hierarchyp/0::subclasses/1:

``subclasses/1``
^^^^^^^^^^^^^^^^

List of all class subclasses.

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

| **Template:**
|    ``subclasses(Subclasses)``
| **Mode and number of proofs:**
|    ``subclasses(-list)`` - ``one``


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

.. index:: superclass/1
.. _class_hierarchyp/0::superclass/1:

``superclass/1``
^^^^^^^^^^^^^^^^

Returns, by backtracking, all class superclasses.

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

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


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

.. index:: superclasses/1
.. _class_hierarchyp/0::superclasses/1:

``superclasses/1``
^^^^^^^^^^^^^^^^^^

List of all class superclasses.

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

| **Template:**
|    ``superclasses(Superclasses)``
| **Mode and number of proofs:**
|    ``superclasses(-list)`` - ``one``


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

.. index:: leaf_instance/1
.. _class_hierarchyp/0::leaf_instance/1:

``leaf_instance/1``
^^^^^^^^^^^^^^^^^^^

Returns, by backtracking, all class leaf instances.

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

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


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

.. index:: leaf_instances/1
.. _class_hierarchyp/0::leaf_instances/1:

``leaf_instances/1``
^^^^^^^^^^^^^^^^^^^^

List of all class leaf instances.

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

| **Template:**
|    ``leaf_instances(Leaves)``
| **Mode and number of proofs:**
|    ``leaf_instances(-list)`` - ``one``


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

.. index:: leaf_class/1
.. _class_hierarchyp/0::leaf_class/1:

``leaf_class/1``
^^^^^^^^^^^^^^^^

Returns, by backtracking, all class leaf subclasses.

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

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


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

.. index:: leaf_classes/1
.. _class_hierarchyp/0::leaf_classes/1:

``leaf_classes/1``
^^^^^^^^^^^^^^^^^^

List of all class leaf leaf subclasses.

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

| **Template:**
|    ``leaf_classes(Leaves)``
| **Mode and number of proofs:**
|    ``leaf_classes(-list)`` - ``one``


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

.. index:: descendant_instance/1
.. _class_hierarchyp/0::descendant_instance/1:

``descendant_instance/1``
^^^^^^^^^^^^^^^^^^^^^^^^^

Returns, by backtracking, all class descendant instances.

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

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


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

.. index:: descendant_instances/1
.. _class_hierarchyp/0::descendant_instances/1:

``descendant_instances/1``
^^^^^^^^^^^^^^^^^^^^^^^^^^

List of all class descendant instances.

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

| **Template:**
|    ``descendant_instances(Descendants)``
| **Mode and number of proofs:**
|    ``descendant_instances(-list)`` - ``one``


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

.. index:: descendant_class/1
.. _class_hierarchyp/0::descendant_class/1:

``descendant_class/1``
^^^^^^^^^^^^^^^^^^^^^^

Returns, by backtracking, all class descendant subclasses.

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

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


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

.. index:: descendant_classes/1
.. _class_hierarchyp/0::descendant_classes/1:

``descendant_classes/1``
^^^^^^^^^^^^^^^^^^^^^^^^

List of all class descendant subclasses.

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

| **Template:**
|    ``descendant_classes(Descendants)``
| **Mode and number of proofs:**
|    ``descendant_classes(-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:`class_hierarchy <class_hierarchy/0>`

