Class::MethodMaker::OptExt3pm
Constants for c::mm's option extension mechanism
Usage
This class is internal to Class::MethodMaker and should not be used by any clients. It is not part of the public API.
Overview
This class contains the constants used by Class::MethodMaker to determine the names of its methods dependent upon options invoked.
Class constants
Optext
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
Class components
Class higher-level functions
encode
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.
Class higher-level procedures
Instance construction
Instance components
Instance higher-level functions
Instance higher-level procedures
Examples
Releases
12 releases since Debian 3.1 (Sarge); the text changed 11 times.