Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / Moose::Meta::TypeConstraint::Union.3pm
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
12 ..
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
16 ..
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
21 ..
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
25 ..
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  | will give a
29 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
32 .tr \(*W-|\(bv\*(Tr
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD.  Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
55 .if \nF \{\
56 .    de IX
57 .    tm Index:\\$1\t\\n%\t"\\$2"
58 ..
59 .    nr % 0
60 .    rr F
61 .\}
62 .\"
63 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
65 .hy 0
66 .if n .na
67 .\"
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70 .    \" fudge factors for nroff and troff
71 .if n \{\
72 .    ds #H 0
73 .    ds #V .8m
74 .    ds #F .3m
75 .    ds #[ \f1
76 .    ds #] \fP
77 .\}
78 .if t \{\
79 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 .    ds #V .6m
81 .    ds #F 0
82 .    ds #[ \&
83 .    ds #] \&
84 .\}
85 .    \" simple accents for nroff and troff
86 .if n \{\
87 .    ds ' \&
88 .    ds ` \&
89 .    ds ^ \&
90 .    ds , \&
91 .    ds ~ ~
92 .    ds /
93 .\}
94 .if t \{\
95 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101 .\}
102 .    \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 .    \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 .    \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
117 \{\
118 .    ds : e
119 .    ds 8 ss
120 .    ds o a
121 .    ds d- d\h'-1'\(ga
122 .    ds D- D\h'-1'\(hy
123 .    ds th \o'bp'
124 .    ds Th \o'LP'
125 .    ds ae ae
126 .    ds Ae AE
127 .\}
128 .rm #[ #] #H #V #F C
129 .\" ========================================================================
130 .\"
131 .IX Title "Moose::Meta::TypeConstraint::Union 3"
132 .TH Moose::Meta::TypeConstraint::Union 3 "2009-11-19" "perl v5.8.7" "User Contributed Perl Documentation"
133 .SH "NAME"
134 Moose::Meta::TypeConstraint::Union \- A union of Moose type constraints
135 .SH "DESCRIPTION"
136 .IX Header "DESCRIPTION"
137 This metaclass represents a union of type constraints. A union takes
138 multiple type constraints, and is true if any one of its member
139 constraints is true.
140 .SH "INHERITANCE"
141 .IX Header "INHERITANCE"
142 \&\f(CW\*(C`Moose::Meta::TypeConstraint::Union\*(C'\fR is a subclass of
143 Moose::Meta::TypeConstraint.
144 .IP "\fBMoose::Meta::TypeConstraint::Union\->new(%options)\fR" 4
145 .IX Item "Moose::Meta::TypeConstraint::Union->new(%options)"
146 This creates a new class type constraint based on the given
147 \&\f(CW%options\fR.
148 .Sp
149 It takes the same options as its parent. It also requires an
150 additional option, \f(CW\*(C`type_constraints\*(C'\fR. This is an array reference
151 containing the Moose::Meta::TypeConstraint objects that are the
152 members of the union type. The \f(CW\*(C`name\*(C'\fR option defaults to the names
153 all of these member types sorted and then joined by a pipe (|).
154 .Sp
155 The constructor sets the implementation of the constraint so that is
156 simply calls \f(CW\*(C`check\*(C'\fR on the newly created object.
157 .Sp
158 Finally, the constructor also makes sure that the object's \f(CW\*(C`coercion\*(C'\fR
159 attribute is a Moose::Meta::TypeCoercion::Union object.
160 .IP "\fB$constraint\->type_constraints\fR" 4
161 .IX Item "$constraint->type_constraints"
162 This returns the array reference of \f(CW\*(C`type_constraints\*(C'\fR provided to
163 the constructor.
164 .IP "\fB$constraint\->parents\fR" 4
165 .IX Item "$constraint->parents"
166 This returns the same constraint as the \f(CW\*(C`type_constraints\*(C'\fR method.
167 .IP "\fB$constraint\->check($value)\fR" 4
168 .IX Item "$constraint->check($value)"
169 .PD 0
170 .IP "\fB$constraint\->validate($value)\fR" 4
171 .IX Item "$constraint->validate($value)"
172 .PD
173 These two methods simply call the relevant method on each of the
174 member type constraints in the union. If any type accepts the value,
175 the value is valid.
176 .Sp
177 With \f(CW\*(C`validate\*(C'\fR the error message returned includes all of the error
178 messages returned by the member type constraints.
179 .IP "\fB$constraint\->equals($type_name_or_object)\fR" 4
180 .IX Item "$constraint->equals($type_name_or_object)"
181 A type is considered equal if it is also a union type, and the two
182 unions have the same member types.
183 .IP "\fB$constraint\->is_a_type_of($type_name_or_object)\fR" 4
184 .IX Item "$constraint->is_a_type_of($type_name_or_object)"
185 This returns true if any of the member type constraints return true
186 for the \f(CW\*(C`is_a_type_of\*(C'\fR method.
187 .IP "\fB$constraint\->is_subtype_of\fR" 4
188 .IX Item "$constraint->is_subtype_of"
189 This returns true if any of the member type constraints return true
190 for the \f(CW\*(C`is_a_subtype_of\*(C'\fR method.
191 .IP "\fB$constraint\->create_child_type(%options)\fR" 4
192 .IX Item "$constraint->create_child_type(%options)"
193 This returns a new Moose::Meta::TypeConstraint object with the type
194 as its parent.
195 .SH "BUGS"
196 .IX Header "BUGS"
197 All complex software has bugs lurking in it, and this module is no
198 exception. If you find a bug please either email me, or add the bug
199 to cpan\-RT.
200 .SH "AUTHOR"
201 .IX Header "AUTHOR"
202 Stevan Little <stevan@iinteractive.com>
203 .SH "COPYRIGHT AND LICENSE"
204 .IX Header "COPYRIGHT AND LICENSE"
205 Copyright 2006\-2009 by Infinity Interactive, Inc.
206 .PP
207 <http://www.iinteractive.com>
208 .PP
209 This library is free software; you can redistribute it and/or modify
210 it under the same terms as Perl itself.