---
name: "Class::MethodMaker::OptExt"
section: "3pm"
platform: "linux"
package: "perl-class-methodmaker"
version: "2.25-3"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/Class::MethodMaker::OptExt"
---

# Class::MethodMaker::OptExt(3pm)

Constants for C::MM's option extension mechanism

## 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
