protocol

# class_hierarchyp

> Class hierarchy protocol.

author:
  `Paulo Moura`
version:
  `1.0`
date:
  `2000/7/24`

compilation flags:
  `static`

extends:
  `public hierarchyp`

## Public interface

### class/1

> Returns, by backtracking, all object classes.

compilation flags:
  `static`
template:
  `class(Class)`
mode – number of proofs:
  `class(?object) – zero_or_more`

### classes/1

> List of all object classes.

compilation flags:
  `static`
template:
  `classes(Classes)`
mode – number of proofs:
  `classes(-list) – one`

### instance/1

> Returns, by backtracking, all class instances.

compilation flags:
  `static`
template:
  `instance(Instance)`
mode – number of proofs:
  `instance(?object) – zero_or_more`

### instances/1

> List of all class instances.

compilation flags:
  `static`
template:
  `instances(Instances)`
mode – number of proofs:
  `instances(-list) – one`

### subclass/1

> Returns, by backtracking, all class subclasses.

compilation flags:
  `static`
template:
  `subclass(Subclass)`
mode – number of proofs:
  `subclass(?object) – zero_or_more`

### subclasses/1

> List of all class subclasses.

compilation flags:
  `static`
template:
  `subclasses(Subclasses)`
mode – number of proofs:
  `subclasses(-list) – one`

### superclass/1

> Returns, by backtracking, all class superclasses.

compilation flags:
  `static`
template:
  `superclass(Superclass)`
mode – number of proofs:
  `superclass(?object) – zero_or_more`

### superclasses/1

> List of all class superclasses.

compilation flags:
  `static`
template:
  `superclasses(Superclasses)`
mode – number of proofs:
  `superclasses(-list) – one`

### leaf_instance/1

> Returns, by backtracking, all class leaf instances.

compilation flags:
  `static`
template:
  `leaf_instance(Leaf)`
mode – 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 – 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 – 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 – 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 – 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 – 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 – 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 – number of proofs:
  `descendant_classes(-list) – one`

## Protected interface

(see related entities)

## Private predicates

(see related entities)

## Operators

### (none)

## Remarks

### (none)