---
name: "Specio::Constraint::Structured"
section: "3pm"
platform: "linux"
package: "perl-specio"
version: "0.53-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Specio::Constraint::Structured"
---

# Specio::Constraint::Structured(3pm)

A class which represents structured constraints

## NAME

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

## VERSION

version 0.53

## 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\>.

## 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 - 2025 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.
