X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FClass%2FC3%2FXS.pm;h=10e41fe3c2860e15066d6e67b7920bb5d36524c6;hb=2605e5915fb1dc1d8cd98585f16cb57d1df11c5b;hp=ee0a07f6a5027e0ba4a801d50f6c18eafc70c33d;hpb=3499e05cfd5432cf9c77a5d8ecc0eec51e162118;p=gitmo%2FClass-C3-XS.git diff --git a/lib/Class/C3/XS.pm b/lib/Class/C3/XS.pm index ee0a07f..10e41fe 100644 --- a/lib/Class/C3/XS.pm +++ b/lib/Class/C3/XS.pm @@ -1,6 +1,10 @@ package Class::C3::XS; -our $VERSION = '0.01_05'; +use 5.006_000; +use strict; +use warnings; + +our $VERSION = '0.06'; =pod @@ -15,10 +19,19 @@ Class::C3::XS - XS speedups for Class::C3 =head1 DESCRIPTION -This contains XS performance enhancers for L. -The main L package will use this package automatically -if it can find it. Do not use this package directly, use -L instead. +This contains XS performance enhancers for L version +0.16 and higher. The main L package will use this +package automatically if it can find it. Do not use this +package directly, use L instead. + +The test suite here is not complete, although it does verify +a few basic things. The best testing comes from running the +L test suite *after* this module is installed. + +This module won't do anything for you if you're running a +version of L older than 0.16. (It's not a +dependency because it would be circular with the optional +dep from that package to this one). =head1 AUTHOR @@ -34,4 +47,23 @@ it under the same terms as Perl itself. require XSLoader; XSLoader::load('Class::C3::XS', $VERSION); +package # hide me from PAUSE + next; + +sub can { Class::C3::XS::_nextcan($_[0], 0) } + +sub method { + my $method = Class::C3::XS::_nextcan($_[0], 1); + goto &$method; +} + +package # hide me from PAUSE + maybe::next; + +sub method { + my $method = Class::C3::XS::_nextcan($_[0], 0); + goto &$method if defined $method; + return; +} + 1;