Scroll to navigation

Class::MethodMaker::OptExt(3pm) User Contributed Perl Documentation Class::MethodMaker::OptExt(3pm)

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:

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.
Code for referring to storage (default: '$_[0]->{$name}').
Code for declaring storage.
Code to execute immediately after any assignment check --- for example, to initialize storage if necessary
Code for checking assignments.
Code for default checking.
Code to execute when resetting an element
Code to execute each time an value is read
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.

  my ($ext, $opt) =
    Class::MethodMaker::OptExt->encode([qw( static type foobar )]);
    
The options to encode, as an arrayref of option names
A code (string) to append to a methodname to represent the options used.
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.

SEE ALSO

2024-03-07 perl v5.38.2