ExtUtils::Typemaps::ObjectMap - 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 # # TYPEMAPs # # HV * -> unblessed Perl HV object. # AV * -> unblessed Perl AV object. # # INPUT/OUTPUT maps # # 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 <firstname.lastname@example.org>, 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.