1 package Moose::Meta::Method::Accessor::Native::Array::shift;
7 $VERSION = eval $VERSION;
8 our $AUTHORITY = 'cpan:STEVAN';
12 with 'Moose::Meta::Method::Accessor::Native::Array::Writer' => {
16 _inline_capture_return_value
17 _inline_optimized_set_new_value
23 sub _maximum_arguments { 0 }
25 sub _adds_members { 0 }
27 sub _potential_value {
29 my ($slot_access) = @_;
31 return '[ @{ (' . $slot_access . ') } > 1 '
32 . '? @{ (' . $slot_access . ') }[1..$#{ (' . $slot_access . ') }] '
36 sub _inline_capture_return_value {
38 my ($slot_access) = @_;
40 return 'my $old = ' . $slot_access . '->[0];';
43 sub _inline_optimized_set_new_value {
45 my ($inv, $new, $slot_access) = @_;
47 return 'shift @{ (' . $slot_access . ') };';
52 my ($slot_access) = @_;