NAME
Class::MethodMaker::OptExt - Constants for C::MM's option extension mechanism
SYNOPSIS
This class is internal to Class::MethodMaker and should not be used by any clients. It is not part of the public API.
DESCRIPTION
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
BUGS
REPORTING BUGS
Email the development mailing list class-mmaker-devel@lists.sourceforge.net.
AUTHOR
Martyn J. Pearce
COPYRIGHT
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.