diff options
| author | Andreas Brachold <vdr07@deltab.de> | 2007-11-10 17:53:53 +0000 |
|---|---|---|
| committer | Andreas Brachold <vdr07@deltab.de> | 2007-11-10 17:53:53 +0000 |
| commit | cfdd733c17cfa4f1a43b827a656e9e53cc2524ac (patch) | |
| tree | b6f659b1281f77628b36768f0888f67b65f9ca48 /lib/Class/MakeMethods/Emulator/AccessorFast.pm | |
| parent | 9c6c30350161efd74faa3c3705096aecb71c0e81 (diff) | |
| download | xxv-cfdd733c17cfa4f1a43b827a656e9e53cc2524ac.tar.gz xxv-cfdd733c17cfa4f1a43b827a656e9e53cc2524ac.tar.bz2 | |
* Remove unsed packages
* Reorder exit routines
Diffstat (limited to 'lib/Class/MakeMethods/Emulator/AccessorFast.pm')
| -rw-r--r-- | lib/Class/MakeMethods/Emulator/AccessorFast.pm | 102 |
1 files changed, 0 insertions, 102 deletions
diff --git a/lib/Class/MakeMethods/Emulator/AccessorFast.pm b/lib/Class/MakeMethods/Emulator/AccessorFast.pm deleted file mode 100644 index 0f47e04..0000000 --- a/lib/Class/MakeMethods/Emulator/AccessorFast.pm +++ /dev/null @@ -1,102 +0,0 @@ -package Class::MakeMethods::Emulator::AccessorFast; - -use strict; -use Class::MakeMethods::Composite::Hash; -use Class::MakeMethods::Emulator '-isasubclass'; - -sub _emulator_target { 'Class::Accessor::Fast' } - -sub import { - my $class = shift; - $class->_handle_namespace( $class->_emulator_target, $_[0] ) and shift; -} - -######################################################################## - -sub mk_accessors { - Class::MakeMethods::Composite::Hash->make( - -TargetClass => (shift), - 'new' => { name => 'new', modifier => 'with_values' }, - 'scalar' => [ map { - $_, - "_${_}_accessor", { 'hash_key' => $_ } - } @_ ], - ); -} - -sub mk_ro_accessors { - Class::MakeMethods::Composite::Hash->make( - -TargetClass => (shift), - 'new' => { name => 'new', modifier => 'with_values' }, - 'scalar' => [ map { - $_, { permit => 'ro' }, - "_${_}_accessor", { 'hash_key' => $_, permit => 'ro' } - } @_ ], - ); -} - -sub mk_wo_accessors { - Class::MakeMethods::Composite::Hash->make( - -TargetClass => (shift), - 'new' => { name => 'new', modifier => 'with_values' }, - 'scalar' => [ map { - $_, { permit => 'wo' }, - "_${_}_accessor", { 'hash_key' => $_, permit => 'wo' } - } @_ ], - ); -} - -######################################################################## - -1; - -__END__ - - -=head1 NAME - -Class::MakeMethods::Emulator::AccessorFast - Emulate Class::Accessor::Fast - - -=head1 SYNOPSIS - - package Foo; - - use base qw(Class::MakeMethods::Emulator::AccessorFast); - Foo->mk_accessors(qw(this that whatever)); - - # Meanwhile, in a nearby piece of code! - # Emulator::AccessorFast provides new(). - my $foo = Foo->new; - - my $whatever = $foo->whatever; # gets $foo->{whatever} - $foo->this('likmi'); # sets $foo->{this} = 'likmi' - - -=head1 DESCRIPTION - -This module emulates the functionality of Class::Accessor::Fast, using Class::MakeMethods to generate similar methods. - -You may use it directly, as shown in the SYNOPSIS above, - -Furthermore, you may call C<use Class::MakeMethods::Emulator::AccessorFast -'-take_namespace';> to alias the Class::Accessor::Fast namespace -to this package, and subsequent calls to the original package will -be transparently handled by this emulator. To remove the emulation -aliasing, call C<use Class::MakeMethods::Emulator::AccessorFast -'-release_namespace'>. - -B<Caution:> This affects B<all> subsequent uses of Class::Accessor::Fast -in your program, including those in other modules, and might cause -unexpected effects. - - -=head1 SEE ALSO - -See L<Class::MakeMethods> for general information about this distribution. - -See L<Class::MakeMethods::Emulator> for more about this family of subclasses. - -See L<Class::Accessor::Fast> for documentation of the original module. - -=cut |
