NAME
ExtUtils::Typemaps::Magic - Typemap for storing objects in magic
VERSION
version 0.004
SYNOPSIS
use ExtUtils::Typemaps::Magic;
# First, read my own type maps:
my $private_map = ExtUtils::Typemaps->new(file => 'my.map');
# Then, get the Magic set and merge it into my maps
my $map = ExtUtils::Typemaps::Magic->new;
$private_map->merge(typemap => $map);
# Now, write the combined map to an output file
$private_map->write(file => 'typemap');
DESCRIPTION
ExtUtils::Typemaps::Magic
is an ExtUtils::Typemaps
subclass that is essentially a drop-in replacement for T_PTROBJ
, except that it hides the value of the pointer from pure-perl code by storing it in attached magic. In particular that means the pointer won't be serialized/deserialized (this is usually a thing because after deserialization the pointer is probably not valid). Note that like T_PTROBJ
, you probably need a DESTROY
method to destroy and free the buffer, and this is not thread cloning safe without further measures.
DEPENDENCIES
On perls older than 5.14
, this will require ppport.h to provide mg_findext
.
AUTHOR
Leon Timmermans <leont@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2023 by Leon Timmermans.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.