Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / Moose::Meta::Attribute::Native::Trait::Hash.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::Attribute::Native::Trait::Hash 3"
132 .TH Moose::Meta::Attribute::Native::Trait::Hash 3 "2009-11-19" "perl v5.8.7" "User Contributed Perl Documentation"
133 .SH "NAME"
134 Moose::Meta::Attribute::Native::Trait::Hash \- Helper trait for HashRef attributes
135 .SH "SYNOPSIS"
136 .IX Header "SYNOPSIS"
137 .Vb 2
138 \&  package Stuff;
139 \&  use Moose;
140 .Ve
141 .PP
142 .Vb 14
143 \&  has 'options' => (
144 \&      traits    => ['Hash'],
145 \&      is        => 'ro',
146 \&      isa       => 'HashRef[Str]',
147 \&      default   => sub { {} },
148 \&      handles   => {
149 \&          set_option     => 'set',
150 \&          get_option     => 'get',
151 \&          has_no_options => 'is_empty',
152 \&          num_options    => 'count',
153 \&          delete_option  => 'delete',
154 \&          pairs          => 'kv',
155 \&      },
156 \&  );
157 .Ve
158 .SH "DESCRIPTION"
159 .IX Header "DESCRIPTION"
160 This module provides a Hash attribute which provides a number of
161 hash-like operations.
162 .SH "PROVIDED METHODS"
163 .IX Header "PROVIDED METHODS"
164 These methods are implemented in
165 Moose::Meta::Attribute::Native::MethodProvider::Hash.
166 .ie n .IP "\fBget($key, \fB$key2\fB, \f(BI$key3\fB...)\fR" 4
167 .el .IP "\fBget($key, \f(CB$key2\fB, \f(CB$key3\fB...)\fR" 4
168 .IX Item "get($key, $key2, $key3...)"
169 Returns values from the hash.
170 .Sp
171 In list context return a list of values in the hash for the given keys.
172 In scalar context returns the value for the last key specified.
173 .ie n .IP "\fBset($key => \fB$value\fB, \f(BI$key2\fB => \f(CB$value2\fB...)\fR" 4
174 .el .IP "\fBset($key => \f(CB$value\fB, \f(CB$key2\fB => \f(CB$value2\fB...)\fR" 4
175 .IX Item "set($key => $value, $key2 => $value2...)"
176 Sets the elements in the hash to the given values.
177 .ie n .IP "\fBdelete($key, \fB$key2\fB, \f(BI$key3\fB...)\fR" 4
178 .el .IP "\fBdelete($key, \f(CB$key2\fB, \f(CB$key3\fB...)\fR" 4
179 .IX Item "delete($key, $key2, $key3...)"
180 Removes the elements with the given keys.
181 .IP "\fBkeys\fR" 4
182 .IX Item "keys"
183 Returns the list of keys in the hash.
184 .IP "\fBexists($key)\fR" 4
185 .IX Item "exists($key)"
186 Returns true if the given key is present in the hash.
187 .IP "\fBdefined($key)\fR" 4
188 .IX Item "defined($key)"
189 Returns true if the value of a given key is defined.
190 .IP "\fBvalues\fR" 4
191 .IX Item "values"
192 Returns the list of values in the hash.
193 .IP "\fBkv\fR" 4
194 .IX Item "kv"
195 Returns the key/value pairs in the hash as an array of array references.
196 .Sp
197 .Vb 3
198 \&  for my $pair ( $object\->options\->pairs ) {
199 \&      print "$pair\->[0] = $pair\->[1]\en";
200 \&  }
201 .Ve
202 .IP "\fBelements\fR" 4
203 .IX Item "elements"
204 Returns the key/value pairs in the hash as a flattened list..
205 .IP "\fBclear\fR" 4
206 .IX Item "clear"
207 Resets the hash to an empty value, like \f(CW\*(C`%hash = ()\*(C'\fR.
208 .IP "\fBcount\fR" 4
209 .IX Item "count"
210 Returns the number of elements in the hash. Also useful for not empty: 
211 \&\f(CW\*(C`has_options => 'count'\*(C'\fR.
212 .IP "\fBis_empty\fR" 4
213 .IX Item "is_empty"
214 If the hash is populated, returns false. Otherwise, returns true.
215 .IP "\fBaccessor\fR" 4
216 .IX Item "accessor"
217 If passed one argument, returns the value of the specified key. If passed two
218 arguments, sets the value of the specified key.
219 .SH "METHODS"
220 .IX Header "METHODS"
221 .IP "\fBmeta\fR" 4
222 .IX Item "meta"
223 .PD 0
224 .IP "\fBmethod_provider\fR" 4
225 .IX Item "method_provider"
226 .IP "\fBhas_method_provider\fR" 4
227 .IX Item "has_method_provider"
228 .PD
229 .SH "BUGS"
230 .IX Header "BUGS"
231 All complex software has bugs lurking in it, and this module is no
232 exception. If you find a bug please either email me, or add the bug
233 to cpan\-RT.
234 .SH "AUTHOR"
235 .IX Header "AUTHOR"
236 Stevan Little <stevan@iinteractive.com>
237 .SH "COPYRIGHT AND LICENSE"
238 .IX Header "COPYRIGHT AND LICENSE"
239 Copyright 2007\-2009 by Infinity Interactive, Inc.
240 .PP
241 <http://www.iinteractive.com>
242 .PP
243 This library is free software; you can redistribute it and/or modify
244 it under the same terms as Perl itself.