Version 0.12_02.
[gitmo/Class-C3-XS.git] / lib / Class / C3 / XS.pm
CommitLineData
8995e827 1package Class::C3::XS;
2
25dc7e96 3use 5.006_000;
e646b627 4use strict;
5use warnings;
6
aaef7ce9 7our $VERSION = '0.12_02';
8995e827 8
9=pod
10
11=head1 NAME
12
fbe8c8c4 13Class::C3::XS - XS speedups for Class::C3
14
15=head1 SUMMARY
16
17 use Class::C3; # Automatically loads Class::C3::XS
18 # if it's installed locally
8995e827 19
20=head1 DESCRIPTION
21
9ad24e91 22This contains XS performance enhancers for L<Class::C3> version
230.16 and higher. The main L<Class::C3> package will use this
24package automatically if it can find it. Do not use this
25package directly, use L<Class::C3> instead.
8995e827 26
e646b627 27The test suite here is not complete, although it does verify
28a few basic things. The best testing comes from running the
29L<Class::C3> test suite *after* this module is installed.
30
9ad24e91 31This module won't do anything for you if you're running a
32version of L<Class::C3> older than 0.16. (It's not a
33dependency because it would be circular with the optional
34dep from that package to this one).
35
8995e827 36=head1 AUTHOR
37
8995e827 38Brandon L. Black, E<lt>blblack@gmail.comE<gt>
39
399aacfc 40=head1 LICENSE
8995e827 41
42This library is free software; you can redistribute it and/or modify
43it under the same terms as Perl itself.
44
45=cut
46
b23e9cb9 47require XSLoader;
48XSLoader::load('Class::C3::XS', $VERSION);
8995e827 49
eeeb4071 50$VERSION = eval $VERSION;
51
2605e591 52package # hide me from PAUSE
53 next;
54
55sub can { Class::C3::XS::_nextcan($_[0], 0) }
56
57sub method {
58 my $method = Class::C3::XS::_nextcan($_[0], 1);
59 goto &$method;
60}
61
62package # hide me from PAUSE
63 maybe::next;
64
65sub method {
66 my $method = Class::C3::XS::_nextcan($_[0], 0);
67 goto &$method if defined $method;
68 return;
69}
70
8995e827 711;