ExtUtils::Typemaps::ObjectMap(3) A set of typemaps for opaque C/C++ objects


use ExtUtils::Typemaps::ObjectMap;
# First, read my own type maps:
my $private_map = ExtUtils::Typemaps->new(file => 'my.map');

# Then, get the object map set and merge it into my maps
$private_map->merge(typemap => ExtUtils::Typemaps::ObjectMap->new);

# Now, write the combined map to an output file
$private_map->write(file => 'typemap');


"ExtUtils::Typemaps::ObjectMap" is an "ExtUtils::Typemaps" subclass that provides a set of mappings for using pointers to C/C++ objects as opaque objects from Perl.

These mappings are taken verbatim from Dean Roehrich's "perlobject.map". They are:

  # "perlobject.map"  Dean Roehrich, version 19960302
  # HV *                -> unblessed Perl HV object.
  # AV *                -> unblessed Perl AV object.
  # O_*         -> opaque blessed objects
  # T_*         -> opaque blessed or unblessed objects
  # O_OBJECT    -> link an opaque C or C++ object to a blessed Perl object.
  # T_OBJECT    -> link an opaque C or C++ object to an unblessed Perl object.
  # O_HvRV      -> a blessed Perl HV object.
  # T_HvRV      -> an unblessed Perl HV object.
  # O_AvRV      -> a blessed Perl AV object.
  # T_AvRV      -> an unblessed Perl AV object.


These are the overridden methods:


Creates a new "ExtUtils::Typemaps::ObjectMap" object. It acts as any other "ExtUtils::Typemaps" object, except that it has the object maps initialized.


The module was written by Steffen Mueller <[email protected]>, but the important bit, the typemap, was written by Dean Roehrich.


Copyright 2010, 2011, 2012, 2013 by Steffen Mueller

Except for the typemap code, which is copyright 1996 Dean Roehrich

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