1Class::MethodMaker::OptUEsxetr(3C)ontributed Perl DocumeCnltaastsi:o:nMethodMaker::OptExt(3)
2
3
4
6 Class::MethodMaker::OptExt - Constants for C::MM's option extension
7 mechanism
8
10 This class is internal to Class::MethodMaker and should not be used by
11 any clients. It is not part of the public API.
12
14 This class contains the constants used by Class::MethodMaker to deter‐
15 mine the names of its methods dependent upon options invoked.
16
18
19
20 OPTEXT
21
22 OPTEXT is a map from options that are implemented as method extensions
23 to the option parameters.
24
25 Parameter keys are:
26
27 encode
28 code number (to allow the option combination to be encoded whilst
29 keeping the length of the subr name no more than 8 chars). encode
30 is required for all opts (for determining method extension), and
31 must be a power of two.
32
33 refer
34 Code for referring to storage (default: '$_[0]->{$name}').
35
36 decl
37 Code for declaring storage.
38
39 postac
40 Code to execute immediately after any assignment check --- for
41 example, to initialize storage if necessary
42
43 asgnchk
44 Code for checking assignments.
45
46 defchk
47 Code for default checking.
48
49 reset
50 Code to execute when resetting an element
51
52 read
53 Code to execute each time an value is read
54
55 store
56 Code to execute each time a value is stored
57
59
60
62
63
64 encode
65
66 Take a set of options, return a two-letter code being the extension to
67 add to the method to incorporate the extensions, and a list (arrayref)
68 of the extensions represented.
69
70 SYNOPSIS
71 my ($ext, $opt) =
72 Class::MethodMaker::OptExt->encode([qw( static type foobar )]);
73
74 ARGUMENTS
75 options
76 The options to encode, as an arrayref of option names
77
78 RETURNS
79 ext A code (string) to append to a methodname to represent the
80 options used.
81
82 opts
83 The options represented by the ext . This is generally a sub‐
84 set of the of those provided in options, for not all general
85 options are handled by an encoded methodname.
86
88
89
91
92
94
95
97
98
100
101
103
104
106
107
109 Email the development mailing list "class-mmaker-devel@lists.source‐
110 forge.net".
111
113 Martyn J. Pearce
114
116 Copyright (c) 2003 Martyn J. Pearce. This program is free software;
117 you can redistribute it and/or modify it under the same terms as Perl
118 itself.
119
121
122
123
124
125perl v5.8.8 2005-11-26 Class::MethodMaker::OptExt(3)