Class::MethodMaker::OptExt - Constants for C::MM's option extension mechanism
This class is internal to Class::MethodMaker and should not be used by any
clients. It is
not part of the public API.
This class contains the constants used by Class::MethodMaker to determine the
names of its methods dependent upon options invoked.
OPTEXT is a map from options that are implemented as method extensions to the
option parameters.
Parameter keys are:
- encode
- code number (to allow the option combination to be encoded
whilst keeping the length of the subr name no more than 8 chars). encode
is required for all opts (for determining method extension), and must be a
power of two.
- refer
- Code for referring to storage (default:
'$_[0]->{$name}').
- decl
- Code for declaring storage.
- postac
- Code to execute immediately after any assignment check ---
for example, to initialize storage if necessary
- asgnchk
- Code for checking assignments.
- defchk
- Code for default checking.
- reset
- Code to execute when resetting an element
- read
- Code to execute each time an value is read
- store
- Code to execute each time a value is stored
Take a set of options, return a two-letter code being the extension to add to
the method to incorporate the extensions, and a list (arrayref) of the
extensions represented.
- SYNOPSIS
-
my ($ext, $opt) =
Class::MethodMaker::OptExt->encode([qw( static type foobar )]);
- ARGUMENTS
- options
- The options to encode, as an arrayref of option names
- RETURNS
- ext
- A code (string) to append to a methodname to represent the
options used.
- opts
- The options represented by the ext . This is generally a
subset of the of those provided in options, for not all general options
are handled by an encoded methodname.
Email the development mailing list
"
[email protected]".
Martyn J. Pearce
Copyright (c) 2003 Martyn J. Pearce. This program is free software; you can
redistribute it and/or modify it under the same terms as Perl itself.