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` hierarchyp
Remarks:
(none)
Inherited public predicates:
ancestor/1 ancestors/1 descendant/1 descendants/1 leaf/1 leaves/1

## Public predicates

### `class/1`

Returns, by backtracking, all object classes.

Compilation flags:
`static`
Template:
`class(Class)`
Mode and number of proofs:
`class(?object)` - `zero_or_more`

### `classes/1`

List of all object classes.

Compilation flags:
`static`
Template:
`classes(Classes)`
Mode and number of proofs:
`classes(-list)` - `one`

### `instance/1`

Returns, by backtracking, all class instances.

Compilation flags:
`static`
Template:
`instance(Instance)`
Mode and number of proofs:
`instance(?object)` - `zero_or_more`

### `instances/1`

List of all class instances.

Compilation flags:
`static`
Template:
`instances(Instances)`
Mode and number of proofs:
`instances(-list)` - `one`

### `subclass/1`

Returns, by backtracking, all class subclasses.

Compilation flags:
`static`
Template:
`subclass(Subclass)`
Mode and number of proofs:
`subclass(?object)` - `zero_or_more`

### `subclasses/1`

List of all class subclasses.

Compilation flags:
`static`
Template:
`subclasses(Subclasses)`
Mode and number of proofs:
`subclasses(-list)` - `one`

### `superclass/1`

Returns, by backtracking, all class superclasses.

Compilation flags:
`static`
Template:
`superclass(Superclass)`
Mode and number of proofs:
`superclass(?object)` - `zero_or_more`

### `superclasses/1`

List of all class superclasses.

Compilation flags:
`static`
Template:
`superclasses(Superclasses)`
Mode and number of proofs:
`superclasses(-list)` - `one`

### `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`

### `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`

### `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`

### `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`

### `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`

### `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`

### `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`

### `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)

See also

class_hierarchy