MakeMethods::Template::Ref(3p)

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.