Manual

- Overview
- Tutorials
- FAQs
- History / Changes
- License

Reference

- Language
- Functions
- Operators
- Special Variables
- Pragmas
- Utilities
- Internals
- Platform Specific

Modules

- A • B • C • D • E
- F • G • H • I • L
- M • N • O • P • S
- T • U • X

News / Blogs

- Perl Buzz
- Perl Iron Man
- Perlsphere
- Planet Perl
- TPF news
- Use Perl

See also

- CPAN
- Perl.org
- Perl.com
- Perl 5 Wiki
- Perl Jobs
- Perl Mongers
- Perl Monks

Contact

- Site designed and maintained by Jon Allen (JJ)
- http://perl.jonallen.info

- View the project page and FAQs

# TAP::Parser::IteratorFactory

Perl 5 version 10.1 documentation
Go to top • Show page index • Download PDF

# TAP::Parser::IteratorFactory

- NAME
- VERSION
- SYNOPSIS
- DESCRIPTION
- METHODS
  - Class Methods
- SUBCLASSING
  - Example
- ATTRIBUTION
- SEE ALSO

# NAME

TAP::Parser::IteratorFactory - Internal TAP::Parser Iterator

# VERSION

Version 3.17

# SYNOPSIS

      use TAP::Parser::IteratorFactory;  my $factory = TAP::Parser::IteratorFactory->new;  my $iter = $factory->make_iterator(\*TEST);  my $iter = $factory->make_iterator(\@array);  my $iter = $factory->make_iterator(\%hash);  my $line = $iter->next;

# DESCRIPTION

This is a factory class for simple iterator wrappers for arrays, filehandles, and hashes. Unless you're subclassing, you probably won't need to use this module directly.

# METHODS

## Class Methods

### `new`

Creates a new factory class. Note: You currently don't need to instantiate a factory in order to use it.

### `make_iterator`

Create an iterator. The type of iterator created depends on the arguments to the constructor:

      my $iter = TAP::Parser::Iterator->make_iterator( $filehandle );

Creates a stream iterator (see "make_stream_iterator").

      my $iter = TAP::Parser::Iterator->make_iterator( $array_reference );

Creates an array iterator (see "make_array_iterator").

      my $iter = TAP::Parser::Iterator->make_iterator( $hash_reference );

Creates a process iterator (see "make_process_iterator").

### `make_stream_iterator`

Make a new stream iterator and return it. Passes through any arguments given. Defaults to a TAP::Parser::Iterator::Stream.

### `make_array_iterator`

Make a new array iterator and return it. Passes through any arguments given. Defaults to a TAP::Parser::Iterator::Array.

### `make_process_iterator`

Make a new process iterator and return it. Passes through any arguments given. Defaults to a TAP::Parser::Iterator::Process.

# SUBCLASSING

Please see "SUBCLASSING" in TAP::Parser for a subclassing overview.

There are a few things to bear in mind when creating your own `ResultFactory` :

1. The factory itself is never instantiated (this may change in the future). This means that `_initialize` is never called.

## Example

      package MyIteratorFactory;  use strict;  use vars '@ISA';  use MyStreamIterator;  use TAP::Parser::IteratorFactory;  @ISA = qw( TAP::Parser::IteratorFactory );  # override stream iterator  sub make_stream_iterator {    my $proto = shift;    MyStreamIterator->new(@_);  }  1;

# ATTRIBUTION

Originally ripped off from Test::Harness.

# SEE ALSO

TAP::Object, TAP::Parser, TAP::Parser::Iterator, TAP::Parser::Iterator::Array, TAP::Parser::Iterator::Stream, TAP::Parser::Iterator::Process,

Page index

- NAME
- VERSION
- SYNOPSIS
- DESCRIPTION
- METHODS
  - Class Methods
- SUBCLASSING
  - Example
- ATTRIBUTION
- SEE ALSO

Recently read

Tools

- Preferences