Man pages sections > man3 > Class::MakeMethods::Template::Ref

Class::MakeMethods::Template::Ref - Universal copy and compare methods

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
default
 
Three-way (sorting-style) comparison.
equals
 
Are these two objects equivalent?
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.
2016-06-10 perl v5.22.2