1MakeMethods::Docs::CataUlsoegr(3C)ontributed Perl DocumeMnatkaetMieotnhods::Docs::Catalog(3)
2
3
4
6 Class::MakeMethods::Docs::Catalog - List of Makable Method Types
7
9 This document lists the various subclasses of Class::MakeMethods
10 included in this distribution, and the method types each one provides.
11
12 See the documentation for each implementation for more details about
13 the features it provides.
14
15 For each class, a parenthetical comment indicates whether the methods
16 it generates are applicable to individual blessed objects (Instances),
17 to class data (Global), or both (Any) =head2 Scoping
18
19 The final part of the name of a method-generating subclass typically
20 indicates the scope or applicability of the methods it generates
21
22 Hash
23 For object instances based on blessed hashes with named values.
24
25 Array
26 For object instances based on blessed arrays with positional
27 values.
28
29 Scalar
30 For object instances based on blessed scalars with a single value.
31
32 InsideOut
33 For any object instance regardless of underlying data type.
34
35 Ref For any object instance regardless of underlying data type.
36
37 Inheritable
38 For data which can be set at the class, subclass, or instance
39 level.
40
41 Class
42 For class data shared by all instances but different for each
43 subclass
44
45 ClassVar
46 For class data shared by all instances but different for each
47 subclass
48
49 ClassInherit
50 For class data shared by all instances but different for each
51 subclass
52
53 Global
54 For global data shared by a class and all its instances and
55 subclasses
56
57 PackageVar
58 For global data shared by a class and all its instances and
59 subclasses
60
61 Universal
62 # General method types that are widely applicable
63
64 Summary Charts
65 This table shows which scopes are available in each generator family:
66
67 SCOPING Basic Standard Evaled Composite Template
68 Hash + + + + +
69 Array + + + +
70 Scalar +
71 InsideOut +
72 Ref +
73 Inheritable + + +
74 Class +
75 ClassVar +
76 ClassInherit +
77 Global + + + +
78 PackageVar +
79 Universal + +
80
81 This table shows which types of methods are typically available in each
82 generator family:
83
84 METHOD Basic Standard Evaled Composite Template
85 new + + + +
86
87 scalar + + + +
88 string +
89 string_index +
90 number +
91 boolean +
92 boolean_index +
93 bits +
94
95 array + + + +
96 struct +
97
98 hash + + + +
99 hash_of_arrays +
100 tiedhash +
101
102 object + + +
103 instance +
104 array_of_objects +
105
106 code +
107 code_or_scalar +
108
110 Basic::Hash (Instances)
111 Methods for objects based on blessed hashes. See
112 Class::MakeMethods::Basic::Hash for details.
113
114 • new: create and copy instances
115
116 • scalar: get and set scalar values in each instance
117
118 • array: get and set values stored in an array refered to in each
119 instance
120
121 • hash: get and set values in a hash refered to in each instance
122
123 Basic::Array (Instances)
124 Methods for manipulating positional values in arrays. See
125 Class::MakeMethods::Basic::Array for details.
126
127 • new: create and copy instances
128
129 • scalar: get and set scalar values in each instance
130
131 • array: get and set values stored in an array refered to in each
132 instance
133
134 • hash: get and set values in a hash refered to in each instance
135
136 Basic::Global (Global)
137 Global methods are not instance-dependent; calling them by class name
138 or from any instance or subclass will consistently access the same
139 value. See Class::MakeMethods::Basic::Global for details.
140
141 • scalar: get and set a global scalar value
142
143 • array: get and set values in a global array
144
145 • hash: get and set values in a global hash
146
148 Standard::Hash (Instances)
149 Methods for objects based on blessed hashes. See
150 Class::MakeMethods::Standard::Hash for details.
151
152 • new: create and copy instances
153
154 • scalar: get and set scalar values in each instance
155
156 • array: get and set values stored in an array refered to in each
157 instance
158
159 • hash: get and set values in a hash refered to in each instance
160
161 • object: access an object refered to by each instance
162
163 Standard::Array (Instances)
164 Methods for manipulating positional values in arrays. See
165 Class::MakeMethods::Standard::Array for details.
166
167 • new: create and copy instances
168
169 • scalar: get and set scalar values in each instance
170
171 • array: get and set values stored in an array refered to in each
172 instance
173
174 • hash: get and set values in a hash refered to in each instance
175
176 • object: access an object refered to by each instance
177
178 Standard::Global (Global)
179 Methods for manipulating global data. See
180 Class::MakeMethods::Standard::Global for details.
181
182 • scalar: get and set global scalar
183
184 • array: get and set values stored in a global array
185
186 • hash: get and set values in a global hash
187
188 • object: global access to an object ref
189
190 Standard::Inheritable (Any)
191 Methods for manipulating data which may be overridden per class or
192 instance. Uses external data storage, so it works with objects of any
193 underlying data type. See Class::MakeMethods::Standard::Inheritable
194 for details.
195
196 • scalar: get and set scalar values for each instance or class
197
199 Composite::Hash (Instances)
200 Methods for objects based on blessed hashes. See
201 Class::MakeMethods::Composite::Hash for details.
202
203 • new: create and copy instances
204
205 • scalar: get and set scalar values in each instance
206
207 • array: get and set values stored in an array refered to in each
208 instance
209
210 • hash: get and set values in a hash refered to in each instance
211
212 • object: access an object refered to by each instance
213
214 Composite::Array (Instances)
215 Methods for manipulating positional values in arrays. See
216 Class::MakeMethods::Composite::Array for details.
217
218 • new: create and copy instances
219
220 • scalar: get and set scalar values in each instance
221
222 • array: get and set values stored in an array refered to in each
223 instance
224
225 • hash: get and set values in a hash refered to in each instance
226
227 • object: access an object refered to by each instance
228
229 Composite::Global (Global)
230 Methods for manipulating global data. See
231 Class::MakeMethods::Composite::Global for details.
232
233 • scalar: get and set global scalar
234
235 • array: get and set values stored in a global array
236
237 • hash: get and set values in a global hash
238
239 • object: global access to an object ref
240
241 Composite::Inheritable (Any)
242 Methods for manipulating data which may be overridden per class or
243 instance. Uses external data storage, so it works with objects of any
244 underlying data type. See Class::MakeMethods::Composite::Inheritable
245 for details.
246
247 • scalar: get and set scalar values for each instance or class
248
249 • hook: create a subroutine intended to have operations added to it
250
251 Composite::Universal (Any)
252 Methods for padding pre- and post-conditions to any class. See
253 Class::MakeMethods::Composite::Universal for details.
254
255 • patch: add pre and post operations to an existing subroutine
256
258 Template::Universal (Any)
259 Meta-methods for any type of object. See
260 Class::MakeMethods::Template::Universal.
261
262 • no_op - a method with an empty body
263
264 • croak - a method which will croak if called
265
266 • method_init - calls other methods from a list of method name =>
267 argument pairs
268
269 • forward_methods - delegates to an object provided by another method
270
271 Template::Ref (Any Instance)
272 Methods for deep copies and comparisons. See
273 Class::MakeMethods::Template::Ref.
274
275 • clone: make a deep copy of an object instance
276
277 • prototype: make new objects by cloning a typical instance
278
279 • compare: compare one object to another
280
281 Template::Generic (Abstract)
282 The remaining subclasses inherit a similar collection of templates from
283 Template::Generic, and provide a different type of scoping or binding
284 for the functionality defined by the Generic template. See
285 Class::MakeMethods::Template::Generic for details.
286
287 Template::Hash (Instances)
288 The most commonly used implementation, for objects based on blessed
289 hashes. See Class::MakeMethods::Template::Hash.
290
291 • new: create and copy instances
292
293 • scalar: get and set scalar values in each instance
294
295 • string: get and set string values in each instance
296
297 • number: get and set numeric values in each instance
298
299 • boolean: get and set boolean values in each instance
300
301 • bits: get and set boolean values stored in a single value in each
302 instance
303
304 • array: get and set values stored in an array refered to in each
305 instance
306
307 • struct - methods for acccessing values which are stored by position
308 in an array
309
310 • hash: get and set values in a hash refered to in each instance
311
312 • tiedhash: get and set values in a tied hash refered to in each
313 instance
314
315 • hash_of_arrays: for references to hashes of arrays contained in
316 each instance
317
318 • object: set or access a reference to an object contained in each
319 instance
320
321 • array_of_objects: manipulate an array of object references within
322 in each instance
323
324 • code: set or call a function reference contained in each instance
325
326 Template::Array (Instances)
327 Methods for manipulating positional values in arrays. See
328 Class::MakeMethods::Template::Array.
329
330 • new: create and copy array instances
331
332 • scalar: get and set scalar values in a given array position
333
334 • string: get and set string values in a given array position
335
336 • number: get and set numeric values in a given array position
337
338 • boolean: get and set boolean values in a given array position
339
340 • builtin_isa: generates a wrapper around some builtin function,
341 cacheing the results in the object and providing a by-name
342 interface
343
344 Template::Scalar (Instances)
345 For objects based on blessed scalars. See
346 Class::MakeMethods::Template::Scalar.
347
348 Note that these objects can generally only have one value accessor
349 method, as all such accessors will refer to the same value.
350
351 • new: create and copy instances
352
353 • scalar: get and set scalar values in each instance
354
355 • string: get and set a string value in each instance
356
357 • number: get and set a numeric value in each instance
358
359 • boolean: get and set a boolean value in each instance
360
361 • bits: get and set boolean values stored in a single value in each
362 instance
363
364 • code: set or call a function reference contained in each instance
365
366 Template::InsideOut (Instances)
367 Stores values for objects in an external location hashed by identity.
368 See Class::MakeMethods::Template::InsideOut.
369
370 Note that while the below constructor creates and returns scalar
371 references, accessor methods can be created with this implementation
372 for use with any type of object.
373
374 • new: create and copy instances
375
376 • scalar: get and set scalar values associated with each instance
377
378 • string: get and set string values associated with each instance
379
380 • string_index: get and set string values associated with each
381 instance, and maintain an index of instances by value
382
383 • number: get and set numeric values associated with each instance
384
385 • boolean: get and set boolean values associated with each instance
386
387 • boolean_index: get and set boolean values associated with each
388 instance, and maintain a list of items which have the flag set
389
390 • bits: get and set boolean values stored in a single value
391 associated with each instance
392
393 • array: get and set values stored in an array associated with each
394 instance
395
396 • hash: get and set values in a hash associated with each instance
397
398 • code: set or call a function reference associated with each
399 instance
400
401 Template::Global (Global)
402 Global methods are not instance-dependent; calling them by class name
403 or from any instance will consistently access the same value. See
404 Class::MakeMethods::Template::Static.
405
406 • scalar: get and set a global scalar value
407
408 • string: get and set a global string value
409
410 • number: get and set a global number value
411
412 • boolean: get and set a global boolean value
413
414 • array: get and set values in a global array
415
416 • hash: get and set values in a global hash
417
418 • tiedhash: get and set values in a global tied hash
419
420 • hash_of_arrays: get and set values in a global hash of arrays
421
422 • object: set and access a global reference to an object
423
424 • instance: set and access a global reference to an object of the
425 declaring class
426
427 • code: set and access a global reference to a subroutine.
428
429 Template::PackageVar (Global)
430 PackageVar methods access a variable in the declaring package. Thus,
431 they have the same effect as Static methods, while keeping their value
432 accessible via the symbol table. See
433 Class::MakeMethods::Template::PackageVar.
434
435 • scalar: get and set a global scalar value
436
437 • string: get and set a global string value
438
439 • number: get and set a global number value
440
441 • boolean: get and set a global boolean value
442
443 • array: get and set values in a global array
444
445 • hash: get and set values in a global hash
446
447 Template::Class (Global)
448 Class methods are similar to Static methods, except that each subclass
449 and its instances will access a distinct value. See
450 Class::MakeMethods::Template::Class.
451
452 • scalar: get and set a class-specific scalar value
453
454 • string: get and set a class-specific string value
455
456 • number: get and set a class-specific number value
457
458 • boolean: get and set a class-specific boolean value
459
460 • array: get and set values in a class-specific array
461
462 • hash: get and set values in a class-specific hash
463
464 Template::ClassVar (Global)
465 ClassVar methods access a variable in the package on which they are
466 called. Thus, they have the same effect as Class methods, while
467 keeping their value accessible via the symbol table, like PackageVar.
468 See Class::MakeMethods::Template::ClassVar.
469
470 • scalar: get and set a class-specific scalar value
471
472 • string: get and set a class-specific string value
473
474 • number: get and set a class-specific number value
475
476 • boolean: get and set a class-specific boolean value
477
478 • array: get and set values in a class-specific array
479
480 • hash: get and set values in a class-specific hash
481
482 Template::ClassInherit (Global)
483 ClassInherit methods are an intermediate point between Static and Class
484 methods; subclasses inherit their superclass's value until they set
485 their own value, after which they become distinct. See
486 Class::MakeMethods::Template::ClassInherit.
487
488 • scalar: get and set an inheritable class-specific scalar value
489
490 • string: get and set an inheritable class-specific string value
491
492 • number: get and set an inheritable class-specific number value
493
494 • boolean: get and set an inheritable class-specific boolean value
495
496 • array: get and set values in an inheritable class-specific array
497
498 • hash: get and set values in an inheritable class-specific hash
499
500 Template::Inheritable (Any)
501 Methods for manipulating data which may be overridden per class or
502 instance. Uses external data storage, so it works with objects of any
503 underlying data type. See Class::MakeMethods::Template::Inheritable
504 for details.
505
506 • scalar: get and set scalar values for each instance or class
507
508 • string: get and set string values for each instance or class
509
510 • number: get and set numeric values for each instance or class
511
512 • boolean: get and set boolean values for each instance or class
513
514 • hash: get and set values in a hash refered to in each instance
515
517 See Class::MakeMethods for general information about this distribution.
518
519
520
521perl v5.36.0 2023-01-20 MakeMethods::Docs::Catalog(3)