NAME
Class::Accessor::Fast::Contained - Fast accessors with data containment
VERSION
This document refers to version 0.05 of Class::Accessor::Fast::Contained, released Tuesday Sep 19, 2006.
SYNOPSIS
package Foo;
use base qw(Class::Accessor::Fast::Contained);
# The rest is the same as Class::Accessor::Fast
DESCRIPTION
This module does two things differently to the venerable Class::Accessor::Fast :
Fields are stored at arms-length within a single hash value of $self, rather than directly in the $self blessed referent.
new()
allows mixin into an existing object, rather than creating and returning a new blessed hashref. To do this, just call something like:my $self = Some::Other::Class->new; $self = $self->Class::Accessor::Fast::Contained::new;
Note that the mixin code only supports objects which use a blessed hash reference or a blessed typeglob reference.
An alias
setup()
is available which does the same asnew()
but might make more sense if being used in this way.
DEPENDENCIES
Other than the standard Perl distribution, you will need the following:
Class::Accessor
BUGS
If you spot a bug or are experiencing difficulties that are not explained within the documentation, please send an email to oliver@cpan.org or submit a bug to the RT system (http://rt.cpan.org/). It would help greatly if you are able to pinpoint problems or even supply a patch.
SEE ALSO
AUTHOR
Oliver Gorwits <oliver.gorwits@oucs.ox.ac.uk>
ACKNOWLEDGEMENTS
Thanks to Marty Pauly and Michael G Schwern for Class::Accessor and its tests, which I've shamelessly borrowed for this distribution.
COPYRIGHT & LICENSE
Copyright (c) The University of Oxford 2006. All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the terms of version 2 of the GNU General Public License as published by the Free Software Foundation.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA