Martyn J. Pearce > Class-MethodMaker-2.08 > Class::MethodMaker::OptExt

Download:
Class-MethodMaker-2.08.tar.gz

Dependencies

Annotate this POD

CPAN RT

Open  0
View/Report Bugs
Source   Latest Release: Class-MethodMaker-2.21

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.

SEE ALSO ^

syntax highlighting: