NAME
XS::MRO::Compat - Provides mro functions for XS modules
VERSION
This document describes XS::MRO::Compat version 0.14.
SYNOPSIS
# In your XS distribution
use inc::Module::Install;
# Add the following to your Makefile.PL
use_ppport;
requires_xs 'XS::MRO::Compat'; # see Module::Install::XSUtil
/* Then put the "include" directive in your Module.xs */
/* ... */
#include "ppport.h"
#include "mro_compat.h"
/* Now you can use several mro functions in your Module.xs:
mro_get_linear_isa()
mro_get_pkg_gen()
mro_method_changed_in()
*/
# And use XS::MRO::Compat in your module
use XS::MRO::Compat;
DESCRIPTION
XS::MRO::Compat
provides several mro functions for XS modules.
This feature is provided by Module::Install::XSUtil
.
XS interface
AV* mro_get_linear_isa(HV* stash)
The same as mro::get_linear_isa()
in Perl.
In 5.10 or later, it is just a public Perl API.
In 5.8.x, it calls mro::get_linear_isa
provided by MRO::Compat
. It has a cache mechanism as Perl 5.10 does, so it is much faster than the direct call of mro::get_linear_isa
provided by MRO::Compat
.
void mro_method_changed_in(HV* stash)
The same as mro::method_changed_in()
in Perl.
U32 mro_get_pkg_gen(HV* stash)
The same as mro::get_pkg_gen()
in Perl. This is not a Perl API.
This may evaluate stash more than once.
DEPENDENCIES
Perl 5.8.1 or later, and a C compiler.
BUGS
No bugs have been reported.
Please report any bugs or feature requests to the author.
AUTHOR
Goro Fuji(gfx) <gfuji(at)cpan.org>.
SEE ALSO
mro.
LICENSE AND COPYRIGHT
Copyright (c) 2008-2009, Goro Fuji (gfx). Some rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.