Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / tools / perlmod / OutputDirector / 1.01 / man / man3 / OutputDirector.3
.\" Automatically generated by Pod::Man v1.34, Pod::Parser v1.13
.\"
.\" Standard preamble:
.\" ========================================================================
.de Sh \" Subsection heading
.br
.if t .Sp
.ne 5
.PP
\fB\\$1\fR
.PP
..
.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
..
.\" Set up some character translations and predefined strings. \*(-- will
.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
.\" double quote, and \*(R" will give a right double quote. | will give a
.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
.\" expand to `' in nroff, nothing in troff, for use with C<>.
.tr \(*W-|\(bv\*(Tr
.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
.ie n \{\
. ds -- \(*W-
. ds PI pi
. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
. ds L" ""
. ds R" ""
. ds C` ""
. ds C' ""
'br\}
.el\{\
. ds -- \|\(em\|
. ds PI \(*p
. ds L" ``
. ds R" ''
'br\}
.\"
.\" If the F register is turned on, we'll generate index entries on stderr for
.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
.\" entries marked with X<> in POD. Of course, you'll have to process the
.\" output yourself in some meaningful fashion.
.if \nF \{\
. de IX
. tm Index:\\$1\t\\n%\t"\\$2"
..
. nr % 0
. rr F
.\}
.\"
.\" For nroff, turn off justification. Always turn off hyphenation; it makes
.\" way too many mistakes in technical documents.
.hy 0
.if n .na
.\"
.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
.\" Fear. Run. Save yourself. No user-serviceable parts.
. \" fudge factors for nroff and troff
.if n \{\
. ds #H 0
. ds #V .8m
. ds #F .3m
. ds #[ \f1
. ds #] \fP
.\}
.if t \{\
. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
. ds #V .6m
. ds #F 0
. ds #[ \&
. ds #] \&
.\}
. \" simple accents for nroff and troff
.if n \{\
. ds ' \&
. ds ` \&
. ds ^ \&
. ds , \&
. ds ~ ~
. ds /
.\}
.if t \{\
. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
.\}
. \" troff and (daisy-wheel) nroff accents
.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
.ds ae a\h'-(\w'a'u*4/10)'e
.ds Ae A\h'-(\w'A'u*4/10)'E
. \" corrections for vroff
.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
. \" for low resolution devices (crt and lpr)
.if \n(.H>23 .if \n(.V>19 \
\{\
. ds : e
. ds 8 ss
. ds o a
. ds d- d\h'-1'\(ga
. ds D- D\h'-1'\(hy
. ds th \o'bp'
. ds Th \o'LP'
. ds ae ae
. ds Ae AE
.\}
.rm #[ #] #H #V #F C
.\" ========================================================================
.\"
.IX Title "OutputDirector 3"
.TH OutputDirector 3 "2002-10-28" "perl v5.8.0" "User Contributed Perl Documentation"
.SH "NAME"
OutputDirector \- Object interface to output streams to allow easy redirection
.SH "SYNOPSIS"
.IX Header "SYNOPSIS"
.Vb 1
\& use OutputDirector;
.Ve
.PP
.Vb 1
\& my $OUT = OutputDirector->new();
.Ve
.PP
.Vb 2
\& $OUT->print_status("Hello, world!\en");
\& $OUT->print_error("Things are not good.\en");
.Ve
.SH "ABSTRACT"
.IX Header "ABSTRACT"
.Vb 3
\& This module provides an object interface for status and error output
\& streams. The intent is that a module that uses an OutputDirector
\& can be trivially modified to redirect output.
.Ve
.SH "DESCRIPTION"
.IX Header "DESCRIPTION"
This module provides an object interface to status and error streams.
The intent is that a module or script that uses an OutputDirector can
be easily (and dynamically) modified to redirect its output.
.Sh "Construction"
.IX Subsection "Construction"
The OutputDirector is created by the class method \fInew()\fR. The
arguments to new form a hash of arguments whose legal keys are as follows:
.IP "print_status" 4
.IX Item "print_status"
Value is a coderef to use in the print_status method. Default method
prints arguments to \s-1STDOUT\s0.
.IP "printf_status" 4
.IX Item "printf_status"
Value is a coderef to use in the printf_status method. Default method
prints formatted string to \s-1STDOUT\s0.
.IP "print_error" 4
.IX Item "print_error"
Value is a coderef to use in the print_error method. Default method
prints arguments to \s-1STDERR\s0.
.IP "printf_error" 4
.IX Item "printf_error"
Value is a coderef to use in the printf_error method. Default method
prints formatted string to \s-1STDERR\s0.
.PP
The default OutputDirector is constructed as shown in the default
section. If, for instance, you wanted to redefine how messages are
printed to the error stream, use:
.PP
.Vb 4
\& my $OUT = OutputDirector->new(
\& print_error => \e&my_print_error,
\& printf_error => \e&my_printf_error,
\& );
.Ve
.PP
.Vb 1
\& $OUT->print_error("This string goes to my_print_error\en");
.Ve
.Sh "Methods"
.IX Subsection "Methods"
The OutputDirector has 4 object methods:
.IP "print_status(@args)" 4
.IX Item "print_status(@args)"
Print the arguments to the status stream.
.ie n .IP "printf_status($format, @args)" 4
.el .IP "printf_status($format, \f(CW@args\fR)" 4
.IX Item "printf_status($format, @args)"
Print formatted string to the status stream.
.IP "print_error(@args)" 4
.IX Item "print_error(@args)"
Print the arguments to the error stream.
.ie n .IP "printf_error($format, @args)" 4
.el .IP "printf_error($format, \f(CW@args\fR)" 4
.IX Item "printf_error($format, @args)"
Print formatted string to the error stream.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
\&\fITriage\fR\|(3).