Provided by: libclass-makemethods-perl_1.01-7_all bug

NAME

       Class::MakeMethods::Docs::Catalog - List of Makable Method Types

DESCRIPTION

       This document lists the various subclasses of Class::MakeMethods included in this distribution, and the
       method types each one provides.

       See the documentation for each implementation for more details about the features it provides.

       For each class, a parenthetical comment indicates whether the methods it generates are applicable to
       individual blessed objects (Instances), to class data (Global), or both (Any) =head2 Scoping

       The final part of the name of a method-generating subclass typically indicates the scope or applicability
       of the methods it generates

       Hash
           For object instances based on blessed hashes with named values.

       Array
           For object instances based on blessed arrays with positional values.

       Scalar
           For object instances based on blessed scalars with a single value.

       InsideOut
           For any object instance regardless of underlying data type.

       Ref For any object instance regardless of underlying data type.

       Inheritable
           For data which can be set at the class, subclass, or instance level.

       Class
           For class data shared by all instances but different for each subclass

       ClassVar
           For class data shared by all instances but different for each subclass

       ClassInherit
           For class data shared by all instances but different for each subclass

       Global
           For global data shared by a class and all its instances and subclasses

       PackageVar
           For global data shared by a class and all its instances and subclasses

       Universal
           # General method types that are widely applicable

   Summary Charts
       This table shows which scopes are available in each generator family:

         SCOPING          Basic      Standard   Evaled     Composite  Template
         Hash               +          +          +          +          +
         Array              +          +                     +          +
         Scalar                                                         +
         InsideOut                                                      +
         Ref                                                            +
         Inheritable                   +                     +          +
         Class                                                          +
         ClassVar                                                       +
         ClassInherit                                                   +
         Global             +          +                     +          +
         PackageVar                                                     +
         Universal                                           +          +

       This table shows which types of methods are typically available in each generator family:

         METHOD           Basic      Standard   Evaled     Composite  Template
         new                +          +                     +          +

         scalar             +          +                     +          +
         string                                                         +
         string_index                                                   +
         number                                                         +
         boolean                                                        +
         boolean_index                                                  +
         bits                                                           +

         array              +          +                     +          +
         struct                                                         +

         hash               +          +                     +          +
         hash_of_arrays                                                 +
         tiedhash                                                       +

         object             +                                +          +
         instance                                                       +
         array_of_objects                                               +

         code                                                           +
         code_or_scalar                                                 +

BASIC CLASSES

   Basic::Hash (Instances)
       Methods for objects based on blessed hashes. See Class::MakeMethods::Basic::Hash for details.

       •   new: create and copy instances

       •   scalar: get and set scalar values in each instance

       •   array: get and set values stored in an array referred to in each instance

       •   hash: get and set values in a hash referred to in each instance

   Basic::Array (Instances)
       Methods for manipulating positional values in arrays. See Class::MakeMethods::Basic::Array for details.

       •   new: create and copy instances

       •   scalar: get and set scalar values in each instance

       •   array: get and set values stored in an array referred to in each instance

       •   hash: get and set values in a hash referred to in each instance

   Basic::Global (Global)
       Global  methods  are  not instance-dependent; calling them by class name or from any instance or subclass
       will consistently access the same value. See Class::MakeMethods::Basic::Global for details.

       •   scalar: get and set a global scalar value

       •   array: get and set values in a global array

       •   hash: get and set values in a global hash

STANDARD CLASSES

   Standard::Hash (Instances)
       Methods for objects based on blessed hashes. See Class::MakeMethods::Standard::Hash for details.

       •   new: create and copy instances

       •   scalar: get and set scalar values in each instance

       •   array: get and set values stored in an array referred to in each instance

       •   hash: get and set values in a hash referred to in each instance

       •   object: access an object referred to by each instance

   Standard::Array (Instances)
       Methods for  manipulating  positional  values  in  arrays.  See  Class::MakeMethods::Standard::Array  for
       details.

       •   new: create and copy instances

       •   scalar: get and set scalar values in each instance

       •   array: get and set values stored in an array referred to in each instance

       •   hash: get and set values in a hash referred to in each instance

       •   object: access an object referred to by each instance

   Standard::Global (Global)
       Methods for manipulating global data. See Class::MakeMethods::Standard::Global for details.

       •   scalar: get and set global scalar

       •   array: get and set values stored in a global array

       •   hash: get and set values in a global hash

       •   object: global access to an object ref

   Standard::Inheritable (Any)
       Methods  for manipulating data which may be overridden per class or instance. Uses external data storage,
       so it works with objects of any underlying data type.  See Class::MakeMethods::Standard::Inheritable  for
       details.

       •   scalar: get and set scalar values for each instance or class

COMPOSITE CLASSES

   Composite::Hash (Instances)
       Methods for objects based on blessed hashes. See Class::MakeMethods::Composite::Hash for details.

       •   new: create and copy instances

       •   scalar: get and set scalar values in each instance

       •   array: get and set values stored in an array referred to in each instance

       •   hash: get and set values in a hash referred to in each instance

       •   object: access an object referred to by each instance

   Composite::Array (Instances)
       Methods  for  manipulating  positional  values  in  arrays.  See Class::MakeMethods::Composite::Array for
       details.

       •   new: create and copy instances

       •   scalar: get and set scalar values in each instance

       •   array: get and set values stored in an array referred to in each instance

       •   hash: get and set values in a hash referred to in each instance

       •   object: access an object referred to by each instance

   Composite::Global (Global)
       Methods for manipulating global data. See Class::MakeMethods::Composite::Global for details.

       •   scalar: get and set global scalar

       •   array: get and set values stored in a global array

       •   hash: get and set values in a global hash

       •   object: global access to an object ref

   Composite::Inheritable (Any)
       Methods for manipulating data which may be overridden per class or instance. Uses external data  storage,
       so it works with objects of any underlying data type.  See Class::MakeMethods::Composite::Inheritable for
       details.

       •   scalar: get and set scalar values for each instance or class

       •   hook: create a subroutine intended to have operations added to it

   Composite::Universal (Any)
       Methods  for  padding pre- and post-conditions to any class. See Class::MakeMethods::Composite::Universal
       for details.

       •   patch: add pre and post operations to an existing subroutine

TEMPLATE CLASSES

   Template::Universal (Any)
       Meta-methods for any type of object. See Class::MakeMethods::Template::Universal.

       •   no_op - a method with an empty body

       •   croak - a method which will croak if called

       •   method_init - calls other methods from a list of method name => argument pairs

       •   forward_methods - delegates to an object provided by another method

   Template::Ref (Any Instance)
       Methods for deep copies and comparisons. See Class::MakeMethods::Template::Ref.

       •   clone: make a deep copy of an object instance

       •   prototype: make new objects by cloning a typical instance

       •   compare: compare one object to another

   Template::Generic (Abstract)
       The remaining subclasses inherit a similar collection of templates from Template::Generic, and provide  a
       different  type  of  scoping  or  binding  for  the  functionality  defined  by the Generic template. See
       Class::MakeMethods::Template::Generic for details.

   Template::Hash (Instances)
       The   most   commonly   used   implementation,   for   objects   based    on    blessed    hashes.    See
       Class::MakeMethods::Template::Hash.

       •   new: create and copy instances

       •   scalar: get and set scalar values in each instance

       •   string: get and set string values in each instance

       •   number: get and set numeric values in each instance

       •   boolean: get and set boolean values in each instance

       •   bits: get and set boolean values stored in a single value in each instance

       •   array: get and set values stored in an array referred to in each instance

       •   struct - methods for accessing values which are stored by position in an array

       •   hash: get and set values in a hash referred to in each instance

       •   tiedhash: get and set values in a tied hash referred to in each instance

       •   hash_of_arrays: for references to hashes of arrays contained in each instance

       •   object: set or access a reference to an object contained in each instance

       •   array_of_objects: manipulate an array of object references within in each instance

       •   code: set or call a function reference contained in each instance

   Template::Array (Instances)
       Methods for manipulating positional values in arrays. See Class::MakeMethods::Template::Array.

       •   new: create and copy array instances

       •   scalar: get and set scalar values in a given array position

       •   string: get and set string values in a given array position

       •   number: get and set numeric values in a given array position

       •   boolean: get and set boolean values in a given array position

       •   builtin_isa: generates a wrapper around some builtin function, cacheing the results in the object and
           providing a by-name interface

   Template::Scalar (Instances)
       For objects based on blessed scalars.  See Class::MakeMethods::Template::Scalar.

       Note  that  these  objects  can generally only have one value accessor method, as all such accessors will
       refer to the same value.

       •   new: create and copy instances

       •   scalar: get and set scalar values in each instance

       •   string: get and set a string value in each instance

       •   number: get and set a numeric value in each instance

       •   boolean: get and set a boolean value in each instance

       •   bits: get and set boolean values stored in a single value in each instance

       •   code: set or call a function reference contained in each instance

   Template::InsideOut (Instances)
       Stores   values    for    objects    in    an    external    location    hashed    by    identity.    See
       Class::MakeMethods::Template::InsideOut.

       Note  that  while  the  below  constructor creates and returns scalar references, accessor methods can be
       created with this implementation for use with any type of object.

       •   new: create and copy instances

       •   scalar: get and set scalar values associated with each instance

       •   string: get and set string values associated with each instance

       •   string_index: get and set string values associated with each  instance,  and  maintain  an  index  of
           instances by value

       •   number: get and set numeric values associated with each instance

       •   boolean: get and set boolean values associated with each instance

       •   boolean_index: get and set boolean values associated with each instance, and maintain a list of items
           which have the flag set

       •   bits: get and set boolean values stored in a single value associated with each instance

       •   array: get and set values stored in an array associated with each instance

       •   hash: get and set values in a hash associated with each instance

       •   code: set or call a function reference associated with each instance

   Template::Global (Global)
       Global  methods  are  not  instance-dependent;  calling  them  by  class  name  or from any instance will
       consistently access the same value.  See Class::MakeMethods::Template::Static.

       •   scalar: get and set a global scalar value

       •   string: get and set a global string value

       •   number: get and set a global number value

       •   boolean: get and set a global boolean value

       •   array: get and set values in a global array

       •   hash: get and set values in a global hash

       •   tiedhash: get and set values in a global tied hash

       •   hash_of_arrays: get and set values in a global hash of arrays

       •   object: set and access a global reference to an object

       •   instance: set and access a global reference to an object of the declaring class

       •   code: set and access a global reference to a subroutine.

   Template::PackageVar (Global)
       PackageVar methods access a variable in the declaring package. Thus, they have the same effect as  Static
       methods,     while     keeping     their    value    accessible    via    the    symbol    table.     See
       Class::MakeMethods::Template::PackageVar.

       •   scalar: get and set a global scalar value

       •   string: get and set a global string value

       •   number: get and set a global number value

       •   boolean: get and set a global boolean value

       •   array: get and set values in a global array

       •   hash: get and set values in a global hash

   Template::Class (Global)
       Class methods are similar to Static methods, except that each subclass and its instances  will  access  a
       distinct value. See Class::MakeMethods::Template::Class.

       •   scalar: get and set a class-specific scalar value

       •   string: get and set a class-specific string value

       •   number: get and set a class-specific number value

       •   boolean: get and set a class-specific boolean value

       •   array: get and set values in a class-specific array

       •   hash: get and set values in a class-specific hash

   Template::ClassVar (Global)
       ClassVar  methods  access  a  variable in the package on which they are called.  Thus, they have the same
       effect as Class methods, while keeping their value accessible via the symbol table, like PackageVar.  See
       Class::MakeMethods::Template::ClassVar.

       •   scalar: get and set a class-specific scalar value

       •   string: get and set a class-specific string value

       •   number: get and set a class-specific number value

       •   boolean: get and set a class-specific boolean value

       •   array: get and set values in a class-specific array

       •   hash: get and set values in a class-specific hash

   Template::ClassInherit (Global)
       ClassInherit methods are an intermediate point between Static and Class methods; subclasses inherit their
       superclass's   value   until   they   set  their  own  value,  after  which  they  become  distinct.  See
       Class::MakeMethods::Template::ClassInherit.

       •   scalar: get and set an inheritable class-specific scalar value

       •   string: get and set an inheritable class-specific string value

       •   number: get and set an inheritable class-specific number value

       •   boolean: get and set an inheritable class-specific boolean value

       •   array: get and set values in an inheritable class-specific array

       •   hash: get and set values in an inheritable class-specific hash

   Template::Inheritable (Any)
       Methods for manipulating data which may be overridden per class or instance. Uses external data  storage,
       so  it works with objects of any underlying data type.  See Class::MakeMethods::Template::Inheritable for
       details.

       •   scalar: get and set scalar values for each instance or class

       •   string: get and set string values for each instance or class

       •   number: get and set numeric values for each instance or class

       •   boolean: get and set boolean values for each instance or class

       •   hash: get and set values in a hash referred to in each instance

SEE ALSO

       See Class::MakeMethods for general information about this distribution.

perl v5.36.0                                       2022-10-13                    MakeMethods::Docs::Catalog(3pm)