Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
MooseX::Clone::Meta::AUsersContributedMPerl:DocumentatiTrait::StorableClone(3)

NAME
       MooseX::Clone::Meta::Attribute::Trait::StorableClone - The attribute
       trait for deeply	cloning	attributes using Storable

VERSION
       version 0.06

SYNOPSIS
	   # see MooseX::Clone

	   has foo => (
	       traits => [qw(StorableClone)],
	       isa => "Something",
	   );

	   my $clone = $object->clone; # $clone->foo will equal	Storable::dclone($object->foo)

DESCRIPTION
       This meta attribute trait provides a "clone_value" method, in the
       spirit of "get_value" and "set_value". This allows clone	methods	such
       as the one in MooseX::Clone to make use of this per-attribute cloning
       behavior.

DERIVATION
       Deriving	this role for your own cloning purposes	is encouraged.

       This will allow your fine grained cloning semantics to interact with
       MooseX::Clone in	the RightX way.

ATTRIBUTES
       clone_only_objects
	   Whether or not Data::Visitor	should be used to clone	arbitrary
	   structures.	Objects	found in these structures will be cloned using
	   clone_object_value.

	   If true then	non object values will be copied over in shallow
	   cloning semantics (shared reference).

	   Defaults to false (all reference will be cloned).

       clone_visitor_config
	   A hash ref used to construct	"clone_visitor". Defaults to the empty
	   ref.

	   This	can be used to alter the cloning behavior for non object
	   values.

       clone_visitor
	   The Data::Visitor::Callback object that will	be used	to clone.

	   It has an "object" handler that delegates to	"clone_object_value"
	   and sets "tied_as_objects" to true in order to deeply clone tied
	   structures while retaining magic.

	   Only	used if	"clone_only_objects" is	false and the value of the
	   attribute is	not an object.

METHODS
       clone_value $target, $proto, %args
	   Clones the value the	attribute encapsulates from $proto into
	   $target.

       clone_value_data	$value,	%args
	   Does	the actual cloning of the value	data by	delegating to a
	   "clone" method on the object	if any.

	   If the object does not support a "clone" method an error is thrown.

	   If the value	is not an object then it will not be cloned.

	   In the future support for deep cloning of simple refs will be added
	   too.

       clone_object_value $object, %args
	   This	is the actual workhorse	of "clone_value_data".

       clone_any_value $value, %args
	   Uses	"clone_visitor"	to clone all non object	values.

	   Called from "clone_value_data" if the value is not an object	and
	   "clone_only_objects"	is false.

AUTHOR
       XXXX XXX'XX (Yuval Kogman) <nothingmuch@woobling.org>

COPYRIGHT AND LICENSE
       This software is	copyright (c) 2008 by XXXX XXX'XX (Yuval Kogman).

       This is free software; you can redistribute it and/or modify it under
       the same	terms as the Perl 5 programming	language system	itself.

perl v5.32.0	       MooseX::Clone::Meta::Attribute::Trait::StorableClone(3)

NAME | VERSION | SYNOPSIS | DESCRIPTION | DERIVATION | ATTRIBUTES | METHODS | AUTHOR | COPYRIGHT AND LICENSE

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=MooseX::Clone::Meta::Attribute::Trait::StorableClone&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help