tests, little things, 0.07 release
[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
ff94166e 7our $VERSION = '0.07';
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
2605e591 50package # hide me from PAUSE
51 next;
52
53sub can { Class::C3::XS::_nextcan($_[0], 0) }
54
55sub method {
56 my $method = Class::C3::XS::_nextcan($_[0], 1);
57 goto &$method;
58}
59
60package # hide me from PAUSE
61 maybe::next;
62
63sub method {
64 my $method = Class::C3::XS::_nextcan($_[0], 0);
65 goto &$method if defined $method;
66 return;
67}
68
8995e827 691;