# phpman > perldoc > Specio::Constraint::Role::Interface

## NAME
    [Specio::Constraint::Role::Interface](https://www.chedong.com/phpMan.php/perldoc/Specio%3A%3AConstraint%3A%3ARole%3A%3AInterface/markdown) - The interface all type constraints should provide

## VERSION
    version 0.47

## DESCRIPTION
    This role defines the interface that all type constraints must provide, and provides most (or
    all) of the implementation. The [Specio::Constraint::Simple](https://www.chedong.com/phpMan.php/perldoc/Specio%3A%3AConstraint%3A%3ASimple/markdown) class simply consumes this role and
    provides no additional code. Other constraint classes add features or override some of this
    role's functionality.

## API
    See the [Specio::Constraint::Simple](https://www.chedong.com/phpMan.php/perldoc/Specio%3A%3AConstraint%3A%3ASimple/markdown) documentation for details. See the internals of various
    constraint classes to see how this role can be overridden or expanded upon.

## ROLES
    This role does the [Specio::Role::Inlinable](https://www.chedong.com/phpMan.php/perldoc/Specio%3A%3ARole%3A%3AInlinable/markdown) role.

## SUPPORT
    Bugs may be submitted at <<https://github.com/houseabsolute/Specio/issues>>.

    I am also usually active on IRC as 'autarch' on "irc://irc.perl.org".

## SOURCE
    The source code repository for Specio can be found at <<https://github.com/houseabsolute/Specio>>.

## AUTHOR
    Dave Rolsky <<autarch@urth.org>>

## COPYRIGHT AND LICENSE
    This software is Copyright (c) 2012 - 2021 by Dave Rolsky.

    This is free software, licensed under:

      The Artistic License 2.0 (GPL Compatible)

    The full text of the license can be found in the LICENSE file included with this distribution.

