summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man3/TAP::Parser::Multiplexer.3perl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/archlinux/man3/TAP::Parser::Multiplexer.3perl
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/archlinux/man3/TAP::Parser::Multiplexer.3perl')
-rw-r--r--upstream/archlinux/man3/TAP::Parser::Multiplexer.3perl155
1 files changed, 155 insertions, 0 deletions
diff --git a/upstream/archlinux/man3/TAP::Parser::Multiplexer.3perl b/upstream/archlinux/man3/TAP::Parser::Multiplexer.3perl
new file mode 100644
index 00000000..c6904fff
--- /dev/null
+++ b/upstream/archlinux/man3/TAP::Parser::Multiplexer.3perl
@@ -0,0 +1,155 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "TAP::Parser::Multiplexer 3perl"
+.TH TAP::Parser::Multiplexer 3perl 2024-02-11 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+TAP::Parser::Multiplexer \- Multiplex multiple TAP::Parsers
+.SH VERSION
+.IX Header "VERSION"
+Version 3.44
+.SH SYNOPSIS
+.IX Header "SYNOPSIS"
+.Vb 1
+\& use TAP::Parser::Multiplexer;
+\&
+\& my $mux = TAP::Parser::Multiplexer\->new;
+\& $mux\->add( $parser1, $stash1 );
+\& $mux\->add( $parser2, $stash2 );
+\& while ( my ( $parser, $stash, $result ) = $mux\->next ) {
+\& # do stuff
+\& }
+.Ve
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+\&\f(CW\*(C`TAP::Parser::Multiplexer\*(C'\fR gathers input from multiple TAP::Parsers.
+Internally it calls select on the input file handles for those parsers
+to wait for one or more of them to have input available.
+.PP
+See TAP::Harness for an example of its use.
+.SH METHODS
+.IX Header "METHODS"
+.SS "Class Methods"
+.IX Subsection "Class Methods"
+\fR\f(CI\*(C`new\*(C'\fR\fI\fR
+.IX Subsection "new"
+.PP
+.Vb 1
+\& my $mux = TAP::Parser::Multiplexer\->new;
+.Ve
+.PP
+Returns a new \f(CW\*(C`TAP::Parser::Multiplexer\*(C'\fR object.
+.SS "Instance Methods"
+.IX Subsection "Instance Methods"
+\fR\f(CI\*(C`add\*(C'\fR\fI\fR
+.IX Subsection "add"
+.PP
+.Vb 1
+\& $mux\->add( $parser, $stash );
+.Ve
+.PP
+Add a TAP::Parser to the multiplexer. \f(CW$stash\fR is an optional opaque
+reference that will be returned from \f(CW\*(C`next\*(C'\fR along with the parser and
+the next result.
+.PP
+\fR\f(CI\*(C`parsers\*(C'\fR\fI\fR
+.IX Subsection "parsers"
+.PP
+.Vb 1
+\& my $count = $mux\->parsers;
+.Ve
+.PP
+Returns the number of parsers. Parsers are removed from the multiplexer
+when their input is exhausted.
+.PP
+\fR\f(CI\*(C`next\*(C'\fR\fI\fR
+.IX Subsection "next"
+.PP
+Return a result from the next available parser. Returns a list
+containing the parser from which the result came, the stash that
+corresponds with that parser and the result.
+.PP
+.Vb 1
+\& my ( $parser, $stash, $result ) = $mux\->next;
+.Ve
+.PP
+If \f(CW$result\fR is undefined the corresponding parser has reached the end
+of its input (and will automatically be removed from the multiplexer).
+.PP
+When all parsers are exhausted an empty list will be returned.
+.PP
+.Vb 11
+\& if ( my ( $parser, $stash, $result ) = $mux\->next ) {
+\& if ( ! defined $result ) {
+\& # End of this parser
+\& }
+\& else {
+\& # Process result
+\& }
+\& }
+\& else {
+\& # All parsers finished
+\& }
+.Ve
+.SH "See Also"
+.IX Header "See Also"
+TAP::Parser
+.PP
+TAP::Harness