Data::Stream::Bulk::Nil - An empty L<Data::Stream::Bulk> iterator


Data-Stream-Bulk documentation Contained in the Data-Stream-Bulk distribution.

Index


Code Index:

NAME

Top

Data::Stream::Bulk::Nil - An empty Data::Stream::Bulk iterator

SYNOPSIS

Top

    return Data::Stream::Bulk::Nil->new; # empty set

DESCRIPTION

Top

This iterator can be used to return the empty resultset.

METHODS

Top

is_done

Always returns true.

next

Always returns undef.

items

all

Always returns the empty list.

list_cat

Skips $self

filter

Returns $self

loaded

Returns true.

AUTHOR

Top

Yuval Kogman <nothingmuch@woobling.org>

COPYRIGHT AND LICENSE

Top


Data-Stream-Bulk documentation Contained in the Data-Stream-Bulk distribution.

package Data::Stream::Bulk::Nil;
BEGIN {
  $Data::Stream::Bulk::Nil::AUTHORITY = 'cpan:NUFFIN';
}
BEGIN {
  $Data::Stream::Bulk::Nil::VERSION = '0.08';
}
# ABSTRACT: An empty L<Data::Stream::Bulk> iterator

use Moose;

use namespace::clean -except => 'meta';

with qw(Data::Stream::Bulk) => { -excludes => [qw/loaded filter list_cat all items/] };

sub items { return () }

sub all { return () }

sub next { undef }

sub is_done { 1 }

sub list_cat {
    my ( $self, $head, @rest ) = @_;

    return () unless $head;
    return $head->list_cat(@rest);
}

sub filter { return $_[0] };

sub loaded { 1 }

__PACKAGE__->meta->make_immutable;

__PACKAGE__;


__END__