1MakeMethods::Docs::CataUlsoegr(3C)ontributed Perl DocumeMnatkaetMieotnhods::Docs::Catalog(3)
2
3
4

NAME

6       Class::MakeMethods::Docs::Catalog - List of Makable Method Types
7

DESCRIPTION

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 val‐
27           ues.
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 sub‐
43           class
44
45       ClassVar
46           For class data shared by all instances but different for each sub‐
47           class
48
49       ClassInherit
50           For class data shared by all instances but different for each sub‐
51           class
52
53       Global
54           For global data shared by a class and all its instances and sub‐
55           classes
56
57       PackageVar
58           For global data shared by a class and all its instances and sub‐
59           classes
60
61       Universal
62           # General method types that are widely applicable
63
64       Summary Charts
65
66       This table shows which scopes are available in each generator family:
67
68         SCOPING          Basic      Standard   Evaled     Composite  Template
69         Hash               +          +          +          +          +
70         Array              +          +                     +          +
71         Scalar                                                         +
72         InsideOut                                                      +
73         Ref                                                            +
74         Inheritable                   +                     +          +
75         Class                                                          +
76         ClassVar                                                       +
77         ClassInherit                                                   +
78         Global             +          +                     +          +
79         PackageVar                                                     +
80         Universal                                           +          +
81
82       This table shows which types of methods are typically available in each
83       generator family:
84
85         METHOD           Basic      Standard   Evaled     Composite  Template
86         new                +          +                     +          +
87
88         scalar             +          +                     +          +
89         string                                                         +
90         string_index                                                   +
91         number                                                         +
92         boolean                                                        +
93         boolean_index                                                  +
94         bits                                                           +
95
96         array              +          +                     +          +
97         struct                                                         +
98
99         hash               +          +                     +          +
100         hash_of_arrays                                                 +
101         tiedhash                                                       +
102
103         object             +                                +          +
104         instance                                                       +
105         array_of_objects                                               +
106
107         code                                                           +
108         code_or_scalar                                                 +
109

BASIC CLASSES

111       Basic::Hash (Instances)
112
113       Methods for objects based on blessed hashes. See Class::MakeMeth‐
114       ods::Basic::Hash for details.
115
116       ·   new: create and copy instances
117
118       ·   scalar: get and set scalar values in each instance
119
120       ·   array: get and set values stored in an array refered to in each
121           instance
122
123       ·   hash: get and set values in a hash refered to in each instance
124
125       Basic::Array (Instances)
126
127       Methods for manipulating positional values in arrays. See
128       Class::MakeMethods::Basic::Array for details.
129
130       ·   new: create and copy instances
131
132       ·   scalar: get and set scalar values in each instance
133
134       ·   array: get and set values stored in an array refered to in each
135           instance
136
137       ·   hash: get and set values in a hash refered to in each instance
138
139       Basic::Global (Global)
140
141       Global methods are not instance-dependent; calling them by class name
142       or from any instance or subclass will consistently access the same
143       value. See Class::MakeMethods::Basic::Global for details.
144
145       ·   scalar: get and set a global scalar value
146
147       ·   array: get and set values in a global array
148
149       ·   hash: get and set values in a global hash
150

STANDARD CLASSES

152       Standard::Hash (Instances)
153
154       Methods for objects based on blessed hashes. See Class::MakeMeth‐
155       ods::Standard::Hash for details.
156
157       ·   new: create and copy instances
158
159       ·   scalar: get and set scalar values in each instance
160
161       ·   array: get and set values stored in an array refered to in each
162           instance
163
164       ·   hash: get and set values in a hash refered to in each instance
165
166       ·   object: access an object refered to by each instance
167
168       Standard::Array (Instances)
169
170       Methods for manipulating positional values in arrays. See
171       Class::MakeMethods::Standard::Array for details.
172
173       ·   new: create and copy instances
174
175       ·   scalar: get and set scalar values in each instance
176
177       ·   array: get and set values stored in an array refered to in each
178           instance
179
180       ·   hash: get and set values in a hash refered to in each instance
181
182       ·   object: access an object refered to by each instance
183
184       Standard::Global (Global)
185
186       Methods for manipulating global data. See Class::MakeMethods::Stan‐
187       dard::Global for details.
188
189       ·   scalar: get and set global scalar
190
191       ·   array: get and set values stored in a global array
192
193       ·   hash: get and set values in a global hash
194
195       ·   object: global access to an object ref
196
197       Standard::Inheritable (Any)
198
199       Methods for manipulating data which may be overridden per class or
200       instance. Uses external data storage, so it works with objects of any
201       underlying data type.  See Class::MakeMethods::Standard::Inheritable
202       for details.
203
204       ·   scalar: get and set scalar values for each instance or class
205

COMPOSITE CLASSES

207       Composite::Hash (Instances)
208
209       Methods for objects based on blessed hashes. See Class::MakeMeth‐
210       ods::Composite::Hash for details.
211
212       ·   new: create and copy instances
213
214       ·   scalar: get and set scalar values in each instance
215
216       ·   array: get and set values stored in an array refered to in each
217           instance
218
219       ·   hash: get and set values in a hash refered to in each instance
220
221       ·   object: access an object refered to by each instance
222
223       Composite::Array (Instances)
224
225       Methods for manipulating positional values in arrays. See
226       Class::MakeMethods::Composite::Array for details.
227
228       ·   new: create and copy instances
229
230       ·   scalar: get and set scalar values in each instance
231
232       ·   array: get and set values stored in an array refered to in each
233           instance
234
235       ·   hash: get and set values in a hash refered to in each instance
236
237       ·   object: access an object refered to by each instance
238
239       Composite::Global (Global)
240
241       Methods for manipulating global data. See Class::MakeMethods::Compos‐
242       ite::Global for details.
243
244       ·   scalar: get and set global scalar
245
246       ·   array: get and set values stored in a global array
247
248       ·   hash: get and set values in a global hash
249
250       ·   object: global access to an object ref
251
252       Composite::Inheritable (Any)
253
254       Methods for manipulating data which may be overridden per class or
255       instance. Uses external data storage, so it works with objects of any
256       underlying data type.  See Class::MakeMethods::Composite::Inheritable
257       for details.
258
259       ·   scalar: get and set scalar values for each instance or class
260
261       ·   hook: create a subroutine intended to have operations added to it
262
263       Composite::Universal (Any)
264
265       Methods for padding pre- and post-conditions to any class. See
266       Class::MakeMethods::Composite::Universal for details.
267
268       ·   patch: add pre and post operations to an existing subroutine
269

TEMPLATE CLASSES

271       Template::Universal (Any)
272
273       Meta-methods for any type of object. See Class::MakeMethods::Tem‐
274       plate::Universal.
275
276       ·   no_op - a method with an empty body
277
278       ·   croak - a method which will croak if called
279
280       ·   method_init - calls other methods from a list of method name =>
281           argument pairs
282
283       ·   forward_methods - delegates to an object provided by another method
284
285       Template::Ref (Any Instance)
286
287       Methods for deep copies and comparisons. See Class::MakeMethods::Tem‐
288       plate::Ref.
289
290       ·   clone: make a deep copy of an object instance
291
292       ·   prototype: make new objects by cloning a typical instance
293
294       ·   compare: compare one object to another
295
296       Template::Generic (Abstract)
297
298       The remaining subclasses inherit a similar collection of templates from
299       Template::Generic, and provide a different type of scoping or binding
300       for the functionality defined by the Generic template. See
301       Class::MakeMethods::Template::Generic for details.
302
303       Template::Hash (Instances)
304
305       The most commonly used implementation, for objects based on blessed
306       hashes. See Class::MakeMethods::Template::Hash.
307
308       ·   new: create and copy instances
309
310       ·   scalar: get and set scalar values in each instance
311
312       ·   string: get and set string values in each instance
313
314       ·   number: get and set numeric values in each instance
315
316       ·   boolean: get and set boolean values in each instance
317
318       ·   bits: get and set boolean values stored in a single value in each
319           instance
320
321       ·   array: get and set values stored in an array refered to in each
322           instance
323
324       ·   struct - methods for acccessing values which are stored by position
325           in an array
326
327       ·   hash: get and set values in a hash refered to in each instance
328
329       ·   tiedhash: get and set values in a tied hash refered to in each
330           instance
331
332       ·   hash_of_arrays: for references to hashes of arrays contained in
333           each instance
334
335       ·   object: set or access a reference to an object contained in each
336           instance
337
338       ·   array_of_objects: manipulate an array of object references within
339           in each instance
340
341       ·   code: set or call a function reference contained in each instance
342
343       Template::Array (Instances)
344
345       Methods for manipulating positional values in arrays. See
346       Class::MakeMethods::Template::Array.
347
348       ·   new: create and copy array instances
349
350       ·   scalar: get and set scalar values in a given array position
351
352       ·   string: get and set string values in a given array position
353
354       ·   number: get and set numeric values in a given array position
355
356       ·   boolean: get and set boolean values in a given array position
357
358       ·   builtin_isa: generates a wrapper around some builtin function,
359           cacheing the results in the object and providing a by-name inter‐
360           face
361
362       Template::Scalar (Instances)
363
364       For objects based on blessed scalars.  See Class::MakeMethods::Tem‐
365       plate::Scalar.
366
367       Note that these objects can generally only have one value accessor
368       method, as all such accessors will refer to the same value.
369
370       ·   new: create and copy instances
371
372       ·   scalar: get and set scalar values in each instance
373
374       ·   string: get and set a string value in each instance
375
376       ·   number: get and set a numeric value in each instance
377
378       ·   boolean: get and set a boolean value in each instance
379
380       ·   bits: get and set boolean values stored in a single value in each
381           instance
382
383       ·   code: set or call a function reference contained in each instance
384
385       Template::InsideOut (Instances)
386
387       Stores values for objects in an external location hashed by identity.
388       See Class::MakeMethods::Template::InsideOut.
389
390       Note that while the below constructor creates and returns scalar refer‐
391       ences, accessor methods can be created with this implementation for use
392       with any type of object.
393
394       ·   new: create and copy instances
395
396       ·   scalar: get and set scalar values associated with each instance
397
398       ·   string: get and set string values associated with each instance
399
400       ·   string_index: get and set string values associated with each
401           instance, and maintain an index of instances by value
402
403       ·   number: get and set numeric values associated with each instance
404
405       ·   boolean: get and set boolean values associated with each instance
406
407       ·   boolean_index: get and set boolean values associated with each
408           instance, and maintain a list of items which have the flag set
409
410       ·   bits: get and set boolean values stored in a single value associ‐
411           ated with each instance
412
413       ·   array: get and set values stored in an array associated with each
414           instance
415
416       ·   hash: get and set values in a hash associated with each instance
417
418       ·   code: set or call a function reference associated with each
419           instance
420
421       Template::Global (Global)
422
423       Global methods are not instance-dependent; calling them by class name
424       or from any instance will consistently access the same value.  See
425       Class::MakeMethods::Template::Static.
426
427       ·   scalar: get and set a global scalar value
428
429       ·   string: get and set a global string value
430
431       ·   number: get and set a global number value
432
433       ·   boolean: get and set a global boolean value
434
435       ·   array: get and set values in a global array
436
437       ·   hash: get and set values in a global hash
438
439       ·   tiedhash: get and set values in a global tied hash
440
441       ·   hash_of_arrays: get and set values in a global hash of arrays
442
443       ·   object: set and access a global reference to an object
444
445       ·   instance: set and access a global reference to an object of the
446           declaring class
447
448       ·   code: set and access a global reference to a subroutine.
449
450       Template::PackageVar (Global)
451
452       PackageVar methods access a variable in the declaring package. Thus,
453       they have the same effect as Static methods, while keeping their value
454       accessible via the symbol table.  See Class::MakeMethods::Tem‐
455       plate::PackageVar.
456
457       ·   scalar: get and set a global scalar value
458
459       ·   string: get and set a global string value
460
461       ·   number: get and set a global number value
462
463       ·   boolean: get and set a global boolean value
464
465       ·   array: get and set values in a global array
466
467       ·   hash: get and set values in a global hash
468
469       Template::Class (Global)
470
471       Class methods are similar to Static methods, except that each subclass
472       and its instances will access a distinct value. See Class::MakeMeth‐
473       ods::Template::Class.
474
475       ·   scalar: get and set a class-specific scalar value
476
477       ·   string: get and set a class-specific string value
478
479       ·   number: get and set a class-specific number value
480
481       ·   boolean: get and set a class-specific boolean value
482
483       ·   array: get and set values in a class-specific array
484
485       ·   hash: get and set values in a class-specific hash
486
487       Template::ClassVar (Global)
488
489       ClassVar methods access a variable in the package on which they are
490       called.  Thus, they have the same effect as Class methods, while keep‐
491       ing their value accessible via the symbol table, like PackageVar. See
492       Class::MakeMethods::Template::ClassVar.
493
494       ·   scalar: get and set a class-specific scalar value
495
496       ·   string: get and set a class-specific string value
497
498       ·   number: get and set a class-specific number value
499
500       ·   boolean: get and set a class-specific boolean value
501
502       ·   array: get and set values in a class-specific array
503
504       ·   hash: get and set values in a class-specific hash
505
506       Template::ClassInherit (Global)
507
508       ClassInherit methods are an intermediate point between Static and Class
509       methods; subclasses inherit their superclass's value until they set
510       their own value, after which they become distinct. See Class::MakeMeth‐
511       ods::Template::ClassInherit.
512
513       ·   scalar: get and set an inheritable class-specific scalar value
514
515       ·   string: get and set an inheritable class-specific string value
516
517       ·   number: get and set an inheritable class-specific number value
518
519       ·   boolean: get and set an inheritable class-specific boolean value
520
521       ·   array: get and set values in an inheritable class-specific array
522
523       ·   hash: get and set values in an inheritable class-specific hash
524
525       Template::Inheritable (Any)
526
527       Methods for manipulating data which may be overridden per class or
528       instance. Uses external data storage, so it works with objects of any
529       underlying data type.  See Class::MakeMethods::Template::Inheritable
530       for details.
531
532       ·   scalar: get and set scalar values for each instance or class
533
534       ·   string: get and set string values for each instance or class
535
536       ·   number: get and set numeric values for each instance or class
537
538       ·   boolean: get and set boolean values for each instance or class
539
540       ·   hash: get and set values in a hash refered to in each instance
541

SEE ALSO

543       See Class::MakeMethods for general information about this distribution.
544
545
546
547perl v5.8.8                       2004-09-06     MakeMethods::Docs::Catalog(3)
Impressum