class::makemethods::template::ref(3pm) [debian man page]
MakeMethods::Template::Ref(3pm) User Contributed Perl Documentation MakeMethods::Template::Ref(3pm)NAME
Class::MakeMethods::Template::Ref - Universal copy and compare methods
SYNOPSIS
package MyObject;
use Class::MakeMethods::Template::Ref (
'Hash:new' => [ 'new' ],
clone => [ 'clone' ]
);
package main;
my $obj = MyObject->new( foo => ["Foozle", "Bozzle"] );
my $clone = $obj->clone();
print $obj->{'foo'}[1];
DESCRIPTION
The following types of methods are provided via the Class::MakeMethods interface:
clone
Produce a deep copy of an instance of almost any underlying datatype.
Parameters:
init_method
If defined, this method is called on the new object with any arguments passed in.
prototype
Create new instances by making a deep copy of a static prototypical instance.
Parameters:
init_method
If defined, this method is called on the new object with any arguments passed in.
compare
Compare one object to another.
Templates
o default
Three-way (sorting-style) comparison.
o equals
Are these two objects equivalent?
o identity
Are these two references to the exact same object?
SEE ALSO
See Class::MakeMethods for general information about this distribution.
See Class::MakeMethods::Template for more about this family of subclasses.
See Class::MakeMethods::Utility::Ref for the clone and compare functions used above.
perl v5.10.1 2004-09-06 MakeMethods::Template::Ref(3pm)
Check Out this Related Man Page
MakeMethods::Emulator::accessors(3pm) User Contributed Perl Documentation MakeMethods::Emulator::accessors(3pm)NAME
Class::MakeMethods::Emulator::accessors - Emulate the accessors module
SYNOPSIS
package Foo;
use Class::MakeMethods::Emulator::accessors qw( foo bar baz );
my $obj = bless {}, 'Foo';
# generates chaining accessors:
$obj->foo( 'hello ' )
->bar( 'world' )
->baz( "!
" );
print $obj->foo, $obj->bar, $obj->baz;
This module also defines subpackages for the classic and chaining subclasses:
package Bar;
use Class::MakeMethods::Emulator::accessors;
use Class::MakeMethods::Emulator::accessors::classic qw( foo bar baz );
my $obj = bless {}, 'Bar';
# always return the current value, even on set:
$obj->foo( 'hello ' ) if $obj->bar( 'world' );
print $obj->foo, $obj->bar, $obj->baz( "!
" );
DESCRIPTION
This module emulates the functionality of the accessors module, using Class::MakeMethods to generate similar methods.
In particular, the following lines are equivalent:
use accessors 'foo';
use Class::MakeMethods::Template::Hash 'scalar --get_set_chain' => 'foo';
use accessors::chained 'foo';
use Class::MakeMethods::Template::Hash 'scalar --get_set_chain' => 'foo';
use accessors::classic 'foo';
use Class::MakeMethods::Template::Hash 'scalar' => 'foo';
You may use this module directly, as shown in the SYNOPSIS above,
Furthermore, you may call "use Class::MakeMethods::Emulator::accessors '-take_namespace';" to alias the accessors namespace to this
package, and subsequent calls to the original package will be transparently handled by this emulator. To remove the emulation aliasing,
call "use Class::MakeMethods::Emulator::accessors '-release_namespace'". The same mechanism is also available for the classic and chained
subclasses.
Caution: This affects all subsequent uses of the accessors module in your program, including those in other modules, and might cause
unexpected effects.
SEE ALSO
See Class::MakeMethods for general information about this distribution.
See Class::MakeMethods::Emulator for more about this family of subclasses.
See accessors for documentation of the original module.
perl v5.10.1 2004-09-06 MakeMethods::Emulator::accessors(3pm)