{
    "content": [
        {
            "type": "text",
            "text": "# Specio::Constraint::AnyDoes (perldoc)\n\n## NAME\n\nSpecio::Constraint::AnyDoes - A class for constraints which require a class name or an object that does a specific role\n\n## SYNOPSIS\n\nmy $type = Specio::Constraint::AnyDoes->new(...);\nprint $type->role;\n\n## DESCRIPTION\n\nThis is a specialized type constraint class for types which require a class name or an object\nthat does a specific role.\n\n## Sections\n\n- **NAME**\n- **VERSION**\n- **SYNOPSIS**\n- **DESCRIPTION**\n- **API**\n- **ROLES**\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::AnyDoes",
        "section": "",
        "mode": "perldoc",
        "summary": "Specio::Constraint::AnyDoes - A class for constraints which require a class name or an object that does a specific role",
        "synopsis": "my $type = Specio::Constraint::AnyDoes->new(...);\nprint $type->role;",
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "VERSION",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "SYNOPSIS",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "API",
                "lines": 16,
                "subsections": []
            },
            {
                "name": "ROLES",
                "lines": 3,
                "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::AnyDoes - A class for constraints which require a class name or an object\nthat does a specific role\n",
                "subsections": []
            },
            "VERSION": {
                "content": "version 0.47\n",
                "subsections": []
            },
            "SYNOPSIS": {
                "content": "my $type = Specio::Constraint::AnyDoes->new(...);\nprint $type->role;\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "This is a specialized type constraint class for types which require a class name or an object\nthat does a specific role.\n",
                "subsections": []
            },
            "API": {
                "content": "This class provides all of the same methods as Specio::Constraint::Simple, with a few\ndifferences:\n\nSpecio::Constraint::AnyDoes->new( ... )\nThe \"parent\" parameter is ignored if it passed, as it is always set to the \"Defined\" type.\n\nThe \"inlinegenerator\" and \"constraint\" parameters are also ignored. This class provides its own\ndefault inline generator subroutine reference.\n\nThis class overrides the \"messagegenerator\" default if none is provided.\n\nFinally, this class requires an additional parameter, \"role\". This must be a single role name.\n\n$anyisa->role\nReturns the role name passed to the constructor.\n",
                "subsections": []
            },
            "ROLES": {
                "content": "This class does the Specio::Constraint::Role::DoesType, Specio::Constraint::Role::Interface,\nSpecio::Role::Inlinable, and MooseX::Clone roles.\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": []
            }
        }
    }
}