require CMOP 1.10
[gitmo/Moose.git] / lib / Moose / Meta / Method / Accessor / Native / Hash / delete.pm
CommitLineData
44babf1f 1package Moose::Meta::Method::Accessor::Native::Hash::delete;
2
3use strict;
4use warnings;
5
efa728b4 6our $VERSION = '1.15';
44babf1f 7$VERSION = eval $VERSION;
8our $AUTHORITY = 'cpan:STEVAN';
9
8b9641b8 10use Moose::Role;
11
12with 'Moose::Meta::Method::Accessor::Native::Hash::Writer' =>
13 { -excludes => ['_inline_optimized_set_new_value'] };
44babf1f 14
15sub _adds_members { 0 }
16
17sub _potential_value {
18 my ( $self, $slot_access ) = @_;
19
20 return "( do { my \%potential = %{ $slot_access }; delete \@potential{\@_}; \\\%potential; } )";
21}
22
23sub _inline_optimized_set_new_value {
24 my ( $self, $inv, $new, $slot_access ) = @_;
25
584540d9 26 return "delete \@{ $slot_access }{\@_}";
44babf1f 27}
28
8b9641b8 29no Moose::Role;
30
44babf1f 311;