built-in predicate

# `imports_category/2-3`

## Description

    imports_category(Object, Category)

    imports_category(Object, Category, Scope)

Enumerates, by backtracking, importation relations between objects and categories. The relation scope is represented by the atoms `public`, `protected`, and `private`.

## Modes and number of proofs

    imports_category(?object_identifier, ?category_identifier) - zero_or_more
    imports_category(?object_identifier, ?category_identifier, ?scope) - zero_or_more

## Errors

`Object` is neither a variable nor a valid object identifier:
`type_error(object_identifier, Object)`
`Category` is neither a variable nor a valid category identifier:
`type_error(category_identifier, Category)`
`Scope` is neither a variable nor an atom:
`type_error(atom, Scope)`
`Scope` is an atom but an invalid entity scope:
`domain_error(scope, Scope)`

## Examples

    % check that the xref_diagram object imports the diagram category:
    | ?- imports_category(xref_diagram, diagram).

    % enumerate the objects that privately import the diagram category:
    | ?- imports_category(Object, diagram, private).

See also

current_category/1, complements_object/2