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

FreeBSD Manual Pages

  
 
  

home | help
MakeMethods::Template:UseriContributed PerlMakeMethods::Template::InsideOut(3)

NAME
       Class::MakeMethods::Template::InsideOut - External data

SYNOPSIS
	 package MyObject;
	 use Class::MakeMethods::Template::InsideOut (
	   scalar	   => [	'foo', 'bar' ]
	 );
	 sub new { ... }

	 package main;

	 my $obj = MyObject->new( foo => "Foozle", bar => "Bozzle" );
	 print $obj->foo();	       # Prints	Foozle
	 $obj->bar("Bamboozle");       # Sets $obj's bar value

DESCRIPTION
       Supports	the Generic object constructor and accessors meta-method
       types, but accepts any object as	the underlying implementation type,
       with member data	stored in external indices.

       Each method stores the values associated	with various objects in	an
       hash keyed by the object's stringified identity.	Since that hash	is
       accessible only from the	generated closures, it is impossible for
       foreign code to manipulate those	values except through the method
       interface.

       A DESTROY method	is installed to	remove data for	expired	objects	from
       the various hashes. (If the DESTROY method is not called, your program
       will not	release	this data and memory will be wasted.)

       Common Parameters: The following	parameters are defined for InsideOut
       meta-methods.

       data
	   An auto-vivified reference to a hash	to be used to store the	values
	   for each object.

       Note that using InsideOut meta-methods causes the installation of a
       DESTROY method in the calling class, which deallocates data for each
       instance	when it	is discarded.

       NOTE: This needs	some more work to properly handle inheritance.

   Standard Methods
       The following methods from Generic are all supported:

	 scalar
	 string
	 string_index *
	 number
	 boolean
	 bits
	 array
	 hash
	 tiedhash
	 hash_of_arrays
	 object
	 instance
	 array_of_objects
	 code
	 code_or_scalar

       See Class::MakeMethods::Template::Generic for the interfaces and
       behaviors of these method types.

       The items marked	with a * above are specifically	defined	in this
       package,	whereas	the others are formed automatically by the interaction
       of this package's generic settings with the code	templates provided by
       the Generic superclass.

   boolean_index
	 boolean_index => [ qw / foo bar baz / ]

       Like InsideOut:boolean, boolean_index creates x,	set_x, and clear_x
       methods.	However, it also defines a class method	find_x which returns a
       list of the objects which presently have	the x-flag set to true.

       Note that to free items from memory, you	must clear these bits!

perl v5.24.1			  2004-09-0MakeMethods::Template::InsideOut(3)

NAME | SYNOPSIS | DESCRIPTION

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Class::MakeMethods::Template::InsideOut&sektion=3&manpath=FreeBSD+12.0-RELEASE+and+Ports>

home | help