1MakeMethods::Emulator::USsterrucCto(n3t)ributed Perl DocMuamkeenMteatthioodns::Emulator::Struct(3)
2
3
4

NAME

6       Class::MakeMethods::Emulator::Struct - Emulate Class::Struct
7

SYNOPSIS

9         use Class::MakeMethods::Emulator::Struct;
10
11         struct (
12             simple  => '$',
13             ordered => '@',
14             mapping => '%',
15             obj_ref => 'FooObject'
16         );
17

DESCRIPTION

19       This module emulates the functionality of Class::Struct by munging the
20       provided field-declaration arguments to match those expected by
21       Class::MakeMethods.
22
23       It supports the same four types of accessors, the choice of array-based
24       or hash-based objects, and the choice of installing methods in the
25       current package or a specified target.
26

EXAMPLE

28       The below three declarations create equivalent methods for a simple
29       hash-based class with a constructor and four accessors.
30
31         use Class::Struct;
32         struct (
33             simple  => '$',
34             ordered => '@',
35             mapping => '%',
36             obj_ref => 'FooObject'
37         );
38
39         use Class::MakeMethods::Emulator::Struct;
40         struct (
41             simple  => '$',
42             ordered => '@',
43             mapping => '%',
44             obj_ref => 'FooObject'
45           );
46
47         use Class::MakeMethods (
48             -MakerClass               => 'Standard::Array',
49             'new'                     => 'new',
50             'scalar'                  => 'simple',
51             'array -auto_init 1'      => 'ordered',
52             'hash -auto_init 1'       => 'mapping',
53             'object -auto_init 1'     => '-class FooObject obj_ref'
54           );
55

COMPATIBILITY

57       This module aims to offer a "95% compatible" drop-in replacement for
58       the core Class::Struct module for purposes of comparison and code
59       migration.
60
61       The "class-struct.t" test for the core Class::Struct module is included
62       with this package. The test is unchanged except for the a direct
63       substitution of this emulator's name in the place of the core module.
64
65       However, there are numerous internal differences between the methods
66       generated by the original Class::Struct and this emulator, and some
67       existing code may not work correctly without modification.
68

SEE ALSO

70       See Class::MakeMethods for general information about this distribution.
71
72       See Class::MakeMethods::Emulator for more about this family of
73       subclasses.
74
75       See Class::Struct for documentation of the original module.
76
77       See Class::MakeMethods::Standard::Hash and
78       Class::MakeMethods::Standard::Array for documentation of the created
79       methods.
80
81
82
83perl v5.38.0                      2023-07-20  MakeMethods::Emulator::Struct(3)
Impressum