Specio::Constraint::Structured

Section: User Contributed Perl Documentation (3)
Updated: 2021-01-31
Page Index
 

NAME

Specio::Constraint::Structured - A class which represents structured constraints  

VERSION

version 0.47  

SYNOPSIS

    my $tuple = t('Tuple');

    my $tuple_of_str_int = $tuple->parameterize( of => [ t('Str'), t('Int') ] );

    my $parent = $tuple_of_str_int->parent; # returns Tuple
    my $parameters = $arrayref_of_int->parameters; # returns { of => [ t('Str'), t('Int') ] }

 

DESCRIPTION

This class implements the API for structured types.  

API

This class implements the same API as Specio::Constraint::Simple, with a few additions.  

Specio::Constraint::Structured->new(...)

This class's constructor accepts two additional parameters:
parent

This should be the Specio::Constraint::Structurable object from which this object was created.

This parameter is required.

parameters

This is the hashref of parameters for the structured type. These are the parameters returned by the "Structurable" type's "parameterization_args_builder". The exact form of this hashref will vary for each structured type.

This parameter is required.

 

$type->parameters

Returns the hashref that was passed to the constructor.  

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.


 

Index

NAME
VERSION
SYNOPSIS
DESCRIPTION
API
Specio::Constraint::Structured->new(...)
$type->parameters
SUPPORT
SOURCE
AUTHOR
COPYRIGHT AND LICENSE