Specio::Constraint::Structurable - Online Linux Manual PageSection : 3
Updated : 2022-01-21
Source : perl v5.34.0
Note : User Contributed Perl Documentation

NAMESpecio::Constraint::Structurable − A class which represents structurable constraints

VERSIONversion 0.47

SYNOPSIS​ my $tuple = t('Tuple'); ​ ​ my $tuple_of_str_int = $tuple−>parameterize( of => [ t('Str'), t('Int') ] );

DESCRIPTIONThis class implements the API for structurable types like Dict, Map< and ​Tuple.

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

Specio::Constraint::Structurable−>new(...)This class's constructor accepts two additional parameters: • parameterization_args_builder This is a subroutine that takes the values passed to of and returns a hash of named arguments. These arguments will then be passed into the ​structured_constraint_generator or structured_inline_generator. This should also do argument checking to make sure that the argument passed are valid. For example, the Tuple type turns the arrayref passed to of into a hash, along the way checking that the caller did not do things like interleave optional and required elements or mix optional and slurpy together in the definition. This parameter is required. • name_builder This is a subroutine that is called to generate a name for the structured type when it is created. This will be called as a method on the ​Specio::Constraint::Structurable object. It will be passed the hash of arguments returned by the parameterization_args_builder. This parameter is required. • structured_constraint_generator This is a subroutine that generates a new constraint subroutine when the type is structured. It will be called as a method on the type and will be passed the hash of arguments returned by the parameterization_args_builder. This parameter is mutually exclusive with the structured_inline_generator parameter. This parameter or the structured_inline_generator parameter is required. • structured_inline_generator This is a subroutine that generates a new inline generator subroutine when the type is structured. It will be called as a method on the Specio::Constraint::Structured object when that object needs to generate an inline constraint. It will receive the type parameter as the first argument and the variable name as a string as the second. The remaining arguments will be the parameter hash returned by the ​parameterization_args_builder. This probably seems fairly confusing, so looking at the examples in the Specio::Library::Structured::* code may be helpful. This parameter is mutually exclusive with the ​structured_constraint_generator parameter. This parameter or the structured_constraint_generator parameter is required.

$type>parameterize(...)This method takes two arguments. The of argument should be an object which does the Specio::Constraint::Role::Interface role, and is required. The other argument, declared_at, is optional. If it is not given, then a new Specio::DeclaredAt object is creating using a call stack depth of 1. This method returns a new Specio::Constraint::Structured object.

SUPPORTBugs may be submitted at <https://github.com/houseabsolute/Specio/issues>. I am also usually active on IRC as 'autarch' on irc://irc.perl.org.

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

AUTHORDave Rolsky <autarch@urth.org>

COPYRIGHT AND LICENSEThis 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.
0
Johanes Gumabo
Data Size   :   12,227 byte
man-Specio::Constraint::Structurable.3pmBuild   :   2024-12-05, 20:55   :  
Visitor Screen   :   x
Visitor Counter ( page / site )   :   2 / 190,971
Visitor ID   :     :  
Visitor IP   :   3.144.4.50   :  
Visitor Provider   :   AMAZON-02   :  
Provider Position ( lat x lon )   :   39.962500 x -83.006100   :   x
Provider Accuracy Radius ( km )   :   1000   :  
Provider City   :   Columbus   :  
Provider Province   :   Ohio ,   :   ,
Provider Country   :   United States   :  
Provider Continent   :   North America   :  
Visitor Recorder   :   Version   :  
Visitor Recorder   :   Library   :  
Online Linux Manual Page   :   Version   :   Online Linux Manual Page - Fedora.40 - march=x86-64 - mtune=generic - 24.12.05
Online Linux Manual Page   :   Library   :   lib_c - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Online Linux Manual Page   :   Library   :   lib_m - 24.10.03 - march=x86-64 - mtune=generic - Fedora.40
Data Base   :   Version   :   Online Linux Manual Page Database - 24.04.13 - march=x86-64 - mtune=generic - fedora-38
Data Base   :   Library   :   lib_c - 23.02.07 - march=x86-64 - mtune=generic - fedora.36

Very long time ago, I have the best tutor, Wenzel Svojanovsky . If someone knows the email address of Wenzel Svojanovsky , please send an email to johanes_gumabo@yahoo.co.id .
If error, please print screen and send to johanes_gumabo@yahoo.co.id
Under development. Support me via PayPal.

ERROR : Need New Coding :         (parse_manual_page_|249|Specio::Constraint::Structurable.3pm|36/37|el══─{─══.|.el══─{─══. ds -- \|\(em\| )         (htmlprn|149|Specio::Constraint::Structurable.3pm|36/37|.el══─{─══. ds --  —  |.el══─{─══. ds -- \|\(em\| )         (parse_manual_page_|249|Specio::Constraint::Structurable.3pm|43|br══─}─══|'br══─}─══ )         (htmlprn|149|Specio::Constraint::Structurable.3pm|43|'br══─}─══ |'br══─}─══ )