1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
4 .\" ========================================================================
5 .de Sh \" Subsection heading
13 .de Sp \" Vertical space (when we can't use .PP)
17 .de Vb \" Begin verbatim text
22 .de Ve \" End verbatim text
26 .\" Set up some character translations and predefined strings. \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote. | will give a
29 .\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
37 . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD. Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
57 . tm Index:\\$1\t\\n%\t"\\$2"
63 .\" For nroff, turn off justification. Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear. Run. Save yourself. No user-serviceable parts.
70 . \" fudge factors for nroff and troff
79 . ds #H ((1u-(\\\\n(.fu%2u))*.13m)
85 . \" simple accents for nroff and troff
95 . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
102 . \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 . \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 . \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
129 .\" ========================================================================
131 .IX Title "TAP::Parser::Iterator 3"
132 .TH TAP::Parser::Iterator 3 "2009-05-05" "perl v5.8.7" "User Contributed Perl Documentation"
134 TAP::Parser::Iterator \- Internal base class for TAP::Parser Iterators
139 .IX Header "SYNOPSIS"
141 \& # see TAP::Parser::IteratorFactory for general usage
146 \& use vars qw(@ISA);
147 \& use TAP::Parser::Iterator ();
148 \& @ISA = qw(TAP::Parser::Iterator);
150 \& # see TAP::Object...
154 .IX Header "DESCRIPTION"
155 This is a simple iterator base class that defines TAP::Parser's iterator
156 \&\s-1API\s0. See \f(CW\*(C`TAP::Parser::IteratorFactory\*(C'\fR for the preferred way of creating
161 .IX Subsection "Class Methods"
162 \fI\f(CI\*(C`new\*(C'\fI\fR
165 Create an iterator. Provided by TAP::Object.
166 .Sh "Instance Methods"
167 .IX Subsection "Instance Methods"
168 \fI\f(CI\*(C`next\*(C'\fI\fR
169 .IX Subsection "next"
172 \& while ( my $item = $iter\->next ) { ... }
175 Iterate through it, of course.
177 \fI\f(CI\*(C`next_raw\*(C'\fI\fR
178 .IX Subsection "next_raw"
180 \&\fBNote:\fR this method is abstract and should be overridden.
183 \& while ( my $item = $iter\->next_raw ) { ... }
186 Iterate raw input without applying any fixes for quirky input syntax.
188 \fI\f(CI\*(C`handle_unicode\*(C'\fI\fR
189 .IX Subsection "handle_unicode"
191 If necessary switch the input stream to handle unicode. This only has
192 any effect for I/O handle based streams.
194 The default implementation does nothing.
196 \fI\f(CI\*(C`get_select_handles\*(C'\fI\fR
197 .IX Subsection "get_select_handles"
199 Return a list of filehandles that may be used upstream in a \fIselect()\fR
200 call to signal that this Iterator is ready. Iterators that are not
201 handle-based should return an empty list.
203 The default implementation does nothing.
205 \fI\f(CI\*(C`wait\*(C'\fI\fR
206 .IX Subsection "wait"
208 \&\fBNote:\fR this method is abstract and should be overridden.
211 \& my $wait_status = $iter\->wait;
214 Return the \f(CW\*(C`wait\*(C'\fR status for this iterator.
216 \fI\f(CI\*(C`exit\*(C'\fI\fR
217 .IX Subsection "exit"
219 \&\fBNote:\fR this method is abstract and should be overridden.
222 \& my $wait_status = $iter\->exit;
225 Return the \f(CW\*(C`exit\*(C'\fR status for this iterator.
227 .IX Header "SUBCLASSING"
228 Please see \*(L"\s-1SUBCLASSING\s0\*(R" in TAP::Parser for a subclassing overview.
230 You must override the abstract methods as noted above.
232 .IX Subsection "Example"
233 TAP::Parser::Iterator::Array is probably the easiest example to follow.
234 There's not much point repeating it here.
236 .IX Header "SEE ALSO"
239 TAP::Parser::IteratorFactory,
240 TAP::Parser::Iterator::Array,
241 TAP::Parser::Iterator::Stream,
242 TAP::Parser::Iterator::Process,