The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Text::Diff3::ListMixin - methods collection like as ruby-lang.

VERSION

0.08

SYNOPSIS

    package AnyList;
    use base qw(Text::Diff3::ListMixin Text::Diff3::Base);
    sub list { return $_[0]->buffer }
    
    package AnyListUser;
    use SomeFactory;
    my $list = SomeFactory->new->create_anylist;
    $list->push($x, $y);
    $x = $list->pop;
    $list->unshift($x, $y);
    $x = $list->shift;
    until ($list->is_empty) {
        $x = $list->shift;
        $x = $list->first->foo;
        $y = $list->last->bar;
    }
    $list->size == 3 or die "excepts \$list->size == 3".
    $list->each(sub{
        my($x) = @_;
        print $x, "\n";
    });
  

DESCRIPTION

This is a mix-in class derived delegates to the list attributes.

METHODS

$list->at($x)

Fetchs an element at index $x.

$list->push($x)

Pushs into the list.

$list->pop

Pops from the list.

$list->unshift($x)

Unshifts into the list.

$list->shift

Shifts from the list.

$list->is_empty

Returns true when the list is empty.

$list->size

Returns size of the list.

$list->first

Fetchs first element in the list.

$list->last

Fetchs last element in the list.

$list->each(sub{})

Iterates given code reference for each elements.

COMPATIBILITY

Use new function style interfaces introduced from version 0.08. This module remained for backward compatibility before version 0.07. This module is no longer maintenance after version 0.08.

AUTHOR

MIZUTANI Tociyuki <tociyuki@gmail.com>.

LICENSE AND COPYRIGHT

Copyright (C) 2010 MIZUTANI Tociyuki

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version.