blob: faf8ff52e91c09a86277188391bfcb66a7b0ee31 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
This way of associating structs with Perl space objects is designed to supercede
Perl's builtin T_PTROBJ with something that is designed to be:
Extensible
- The association of the pointer using sv_magicext can be done on any data type,
so you can associate C structs with any representation type.
- This means that you can add pointers to any object (hand coded, Moose or
otherwise), while still having instance data in regular hashes.
Opaque
- The C pointer is neither visible nor modifiable from Perl space.
- This prevents accidental corruption which could lead to segfaults using
T_PTROBJ (e.g. $$ptr_obj = 0).
|