bump version to 1.15
[gitmo/Moose.git] / lib / Moose / Meta / Method / Accessor / Native / Array / delete.pm
CommitLineData
a7821be5 1package Moose::Meta::Method::Accessor::Native::Array::delete;
2
3use strict;
4use warnings;
5
efa728b4 6our $VERSION = '1.15';
a7821be5 7$VERSION = eval $VERSION;
8our $AUTHORITY = 'cpan:STEVAN';
9
8b9641b8 10use Moose::Role;
11
12with 'Moose::Meta::Method::Accessor::Native::Array::Writer' => {
13 -excludes => [
14 qw(
15 _minimum_arguments
16 _maximum_arguments
17 _inline_check_arguments
18 _inline_optimized_set_new_value
19 )
20 ],
21};
a7821be5 22
23sub _minimum_arguments { 1 }
24
25sub _maximum_arguments { 1 }
26
27sub _inline_check_arguments {
28 my $self = shift;
29
30 return $self->_inline_check_var_is_valid_index('$_[0]');
31}
32
33sub _adds_members { 0 }
34
35sub _potential_value {
36 my ( $self, $slot_access ) = @_;
37
38 return
e32b7489 39 "( do { my \@potential = \@{ $slot_access }; splice \@potential, \$_[0], 1; \\\@potential } )";
40}
41
42sub _inline_optimized_set_new_value {
43 my ( $self, $inv, $new, $slot_access ) = @_;
44
584540d9 45 return "splice \@{ $slot_access }, \$_[0], 1";
a7821be5 46}
47
8b9641b8 48no Moose::Role;
49
a7821be5 501;