.\" -*- 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 "ExtUtils::Typemaps::Cmd 3p"
.TH ExtUtils::Typemaps::Cmd 3p 2023-09-25 "perl v5.38.0" "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
ExtUtils::Typemaps::Cmd \- Quick commands for handling typemaps
.SH SYNOPSIS
.IX Header "SYNOPSIS"
From XS:
.PP
.Vb 2
\&  INCLUDE_COMMAND: $^X \-MExtUtils::Typemaps::Cmd \e
\&                   \-e "print embeddable_typemap(q{Excommunicated})"
.Ve
.PP
Loads \f(CW\*(C`ExtUtils::Typemaps::Excommunicated\*(C'\fR, instantiates an object,
and dumps it as an embeddable typemap for use directly in your XS file.
.SH DESCRIPTION
.IX Header "DESCRIPTION"
This is a helper module for ExtUtils::Typemaps for quick
one-liners, specifically for inclusion of shared typemaps
that live on CPAN into an XS file (see SYNOPSIS).
.PP
For this reason, the following functions are exported by default:
.SH "EXPORTED FUNCTIONS"
.IX Header "EXPORTED FUNCTIONS"
.SS embeddable_typemap
.IX Subsection "embeddable_typemap"
Given a list of identifiers, \f(CW\*(C`embeddable_typemap\*(C'\fR
tries to load typemaps from a file of the given name(s),
or from a module that is an \f(CW\*(C`ExtUtils::Typemaps\*(C'\fR subclass.
.PP
Returns a string representation of the merged typemaps that can
be included verbatim into XS. Example:
.PP
.Vb 3
\&  print embeddable_typemap(
\&    "Excommunicated", "ExtUtils::Typemaps::Basic", "./typemap"
\&  );
.Ve
.PP
This will try to load a module \f(CW\*(C`ExtUtils::Typemaps::Excommunicated\*(C'\fR
and use it as an \f(CW\*(C`ExtUtils::Typemaps\*(C'\fR subclass. If that fails, it'll
try loading \f(CW\*(C`Excommunicated\*(C'\fR as a module, if that fails, it'll try to
read a file called \fIExcommunicated\fR. It'll work similarly for the
second argument, but the third will be loaded as a file first.
.PP
After loading all typemap files or modules, it will merge them in the
specified order and dump the result as an embeddable typemap.
.SH "SEE ALSO"
.IX Header "SEE ALSO"
ExtUtils::Typemaps
.PP
perlxs
.SH AUTHOR
.IX Header "AUTHOR"
Steffen Mueller \f(CW\*(C`<smueller@cpan.org\*(C'\fR>
.SH "COPYRIGHT & LICENSE"
.IX Header "COPYRIGHT & LICENSE"
Copyright 2012 Steffen Mueller
.PP
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
