# ExtUtils::Typemaps::Cmd - phpMan

## NAME
    [ExtUtils::Typemaps::Cmd] - Quick commands for handling typemaps

## SYNOPSIS
    From XS:

      INCLUDE_COMMAND: $^X -[MExtUtils::Typemaps::Cmd] \
                       -e "print embeddable_typemap(q{Excommunicated})"

    Loads "[ExtUtils::Typemaps::Excommunicated]", instantiates an object, and
    dumps it as an embeddable typemap for use directly in your XS file.

## 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).

    For this reason, the following functions are exported by default:

## EXPORTED FUNCTIONS
  embeddable_typemap
    Given a list of identifiers, "embeddable_typemap" tries to load typemaps
    from a file of the given name(s), or from a module that is an
    "[ExtUtils::Typemaps]" subclass.

    Returns a string representation of the merged typemaps that can be
    included verbatim into XS. Example:

      print embeddable_typemap(
        "Excommunicated", "[ExtUtils::Typemaps::Basic]", "./typemap"
      );

    This will try to load a module "[ExtUtils::Typemaps::Excommunicated]" and
    use it as an "[ExtUtils::Typemaps]" subclass. If that fails, it'll try
    loading "Excommunicated" as a module, if that fails, it'll try to read a
    file called Excommunicated. It'll work similarly for the second
    argument, but the third will be loaded as a file first.

    After loading all typemap files or modules, it will merge them in the
    specified order and dump the result as an embeddable typemap.

## SEE ALSO
    [ExtUtils::Typemaps]

    perlxs

## AUTHOR
    Steffen Mueller "<<smueller@cpan.org>">

COPYRIGHT & LICENSE
    Copyright 2012 Steffen Mueller

    This program is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

