summaryrefslogtreecommitdiff
path: root/lib/Class/MakeMethods/Emulator/AccessorFast.pm
diff options
context:
space:
mode:
authorAndreas Brachold <vdr07@deltab.de>2007-11-10 17:53:53 +0000
committerAndreas Brachold <vdr07@deltab.de>2007-11-10 17:53:53 +0000
commitcfdd733c17cfa4f1a43b827a656e9e53cc2524ac (patch)
treeb6f659b1281f77628b36768f0888f67b65f9ca48 /lib/Class/MakeMethods/Emulator/AccessorFast.pm
parent9c6c30350161efd74faa3c3705096aecb71c0e81 (diff)
downloadxxv-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.pm102
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