---
name: "ExtUtils::Typemaps::ObjectMap"
section: "3pm"
platform: "linux"
package: "libextutils-typemaps-default-perl"
version: "1.05-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ExtUtils::Typemaps::ObjectMap"
---

# ExtUtils::Typemaps::ObjectMap(3pm)

A set of typemaps for opaque C/C++ objects

## NAME

ExtUtils::Typemaps::ObjectMap - A set of typemaps for opaque C/C++ objects

## SYNOPSIS

```
  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');
```

## DESCRIPTION

`"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.
```

## METHODS

These are the overridden methods:

### new

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

## SEE ALSO

ExtUtils::Typemaps, ExtUtils::Typemaps::Default, ExtUtils::Typemaps::STL::String

## AUTHOR

The module was written by Steffen Mueller \<smueller@cpan.org\>, but the important bit, the typemap, was written by Dean Roehrich.

## COPYRIGHT AND LICENSE

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.
