{
    "content": [
        {
            "type": "text",
            "text": "# Specio::Constraint::Structured (perldoc)\n\n## NAME\n\nSpecio::Constraint::Structured - A class which represents structured constraints\n\n## SYNOPSIS\n\nmy $tuple = t('Tuple');\nmy $tupleofstrint = $tuple->parameterize( of => [ t('Str'), t('Int') ] );\nmy $parent = $tupleofstrint->parent; # returns Tuple\nmy $parameters = $arrayrefofint->parameters; # returns { of => [ t('Str'), t('Int') ] }\n\n## DESCRIPTION\n\nThis class implements the API for structured types.\n\n## Sections\n\n- **NAME**\n- **VERSION**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **API**\n- **SUPPORT**\n- **SOURCE**\n- **AUTHOR**\n- **COPYRIGHT AND LICENSE**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "Specio::Constraint::Structured",
        "section": "",
        "mode": "perldoc",
        "summary": "Specio::Constraint::Structured - A class which represents structured constraints",
        "synopsis": "my $tuple = t('Tuple');\nmy $tupleofstrint = $tuple->parameterize( of => [ t('Str'), t('Int') ] );\nmy $parent = $tupleofstrint->parent; # returns Tuple\nmy $parameters = $arrayrefofint->parameters; # returns { of => [ t('Str'), t('Int') ] }",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "VERSION",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 7,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "API",
                "lines": 23,
                "subsections": []
            },
            {
                "name": "SUPPORT",
                "lines": 4,
                "subsections": []
            },
            {
                "name": "SOURCE",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "AUTHOR",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "COPYRIGHT AND LICENSE",
                "lines": 8,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "Specio::Constraint::Structured - A class which represents structured constraints\n",
                "subsections": []
            },
            "VERSION": {
                "content": "version 0.47\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "my $tuple = t('Tuple');\n\nmy $tupleofstrint = $tuple->parameterize( of => [ t('Str'), t('Int') ] );\n\nmy $parent = $tupleofstrint->parent; # returns Tuple\nmy $parameters = $arrayrefofint->parameters; # returns { of => [ t('Str'), t('Int') ] }\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "This class implements the API for structured types.\n",
                "subsections": []
            },
            "API": {
                "content": "This class implements the same API as Specio::Constraint::Simple, with a few additions.\n\nSpecio::Constraint::Structured->new(...)\nThis class's constructor accepts two additional parameters:\n\n*   parent\n\nThis should be the Specio::Constraint::Structurable object from which this object was\ncreated.\n\nThis parameter is required.\n\n*   parameters\n\nThis is the hashref of parameters for the structured type. These are the parameters returned\nby the \"Structurable\" type's \"parameterizationargsbuilder\". The exact form of this hashref\nwill vary for each structured type.\n\nThis parameter is required.\n\n$type->parameters\nReturns the hashref that was passed to the constructor.\n",
                "subsections": []
            },
            "SUPPORT": {
                "content": "Bugs may be submitted at <https://github.com/houseabsolute/Specio/issues>.\n\nI am also usually active on IRC as 'autarch' on \"irc://irc.perl.org\".\n",
                "subsections": []
            },
            "SOURCE": {
                "content": "The source code repository for Specio can be found at <https://github.com/houseabsolute/Specio>.\n",
                "subsections": []
            },
            "AUTHOR": {
                "content": "Dave Rolsky <autarch@urth.org>\n",
                "subsections": []
            },
            "COPYRIGHT AND LICENSE": {
                "content": "This software is Copyright (c) 2012 - 2021 by Dave Rolsky.\n\nThis is free software, licensed under:\n\nThe Artistic License 2.0 (GPL Compatible)\n\nThe full text of the license can be found in the LICENSE file included with this distribution.\n",
                "subsections": []
            }
        }
    }
}