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:
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 PROCEDURESINSTANCE CONSTRUCTION INSTANCE COMPONENTS INSTANCE HIGHER-LEVEL FUNCTIONSINSTANCE HIGHER-LEVEL PROCEDURESEXAMPLES 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 perl v5.14.2 2011-02-28 Class::MethodMaker::OptExt(3pm)
Check Out this Related Man Page
MakeMethods::Emulator(3pm) User Contributed Perl Documentation MakeMethods::Emulator(3pm)NAME
Class::MakeMethods::Emulator - Demonstrate class-generator equivalency
SYNOPSIS
# Equivalent to use Class::Singleton;
use Class::MakeMethods::Emulator::Singleton;
# Equivalent to use Class::Struct;
use Class::MakeMethods::Emulator::Struct;
struct ( ... );
# Equivalent to use Class::MethodMaker( ... );
use Class::MakeMethods::Emulator::MethodMaker( ... );
# Equivalent to use base 'Class::Inheritable';
use base 'Class::MakeMethods::Emulator::Inheritable';
MyClass->mk_classdata( ... );
# Equivalent to use base 'Class::AccessorFast';
use base 'Class::MakeMethods::Emulator::AccessorFast';
MyClass->mk_accessors(qw(this that whatever));
# Equivalent to use accessors( ... );
use Class::MakeMethods::Emulator::accessors( ... );
# Equivalent to use mcoder( ... );
use Class::MakeMethods::Emulator::mcoder( ... );
DESCRIPTION
In several cases, Class::MakeMethods provides functionality closely equivalent to that of an existing module, and it is simple to map the
existing module's interface to that of Class::MakeMethods.
Class::MakeMethods::Emulator provides emulators for Class::MethodMaker, Class::Accessor::Fast, Class::Data::Inheritable, Class::Singleton,
Class::Struct, accessors, and mcoder, each of which passes the original module's test suite, usually requiring only the addition of a a
single line to each test, activating the emulation module.
Beyond demonstrating compatibility, these emulators also generally indicate the changes needed to switch to direct use of
Class::MakeMethods functionality, illustrate commonalities between the various modules, and serve as a source for new ideas that can be
integrated into Class::MakeMethods.
SEE ALSO
See Class::MakeMethods for general information about this distribution.
See Class::MakeMethods::Emulator::accessors, and accessors from CPAN.
See Class::MakeMethods::Emulator::Struct, and Class::Struct from CPAN.
See Class::MakeMethods::Emulator::AccessorFast, and Class::Accessor::Fast from CPAN.
See Class::MakeMethods::Emulator::Inheritable, and Class::Data::Inheritable from CPAN.
See Class::MakeMethods::Emulator::MethodMaker, and Class::MethodMaker from CPAN.
See Class::MakeMethods::Emulator::Singleton, and Class::Singleton from CPAN.
See Class::MakeMethods::Emulator::mcoder, and mcoder from CPAN.
perl v5.10.1 2004-09-06 MakeMethods::Emulator(3pm)