File Coverage

blib/lib/Set/IntervalTree.pm
Criterion Covered Total %
statement 18 29 62.0
branch 0 4 0.0
condition n/a
subroutine 6 8 75.0
pod n/a
total 24 41 58.5


line stmt bran cond sub pod time code
1             package Set::IntervalTree;
2              
3 2     2   60896 use 5.006001;
  2         11  
  2         135  
4 2     2   13 use strict;
  2         3  
  2         80  
5 2     2   11 use warnings;
  2         9  
  2         73  
6 2     2   12 use Carp;
  2         3  
  2         429  
7              
8             require Exporter;
9 2     2   2136 use AutoLoader;
  2         4628  
  2         14  
10              
11             our @ISA = qw(Exporter);
12              
13             # Items to export into callers namespace by default. Note: do not export
14             # names by default without a very good reason. Use EXPORT_OK instead.
15             # Do not simply export all your public functions/methods/constants.
16              
17             # This allows declaration use Set::IntervalTree ':all';
18             # If you do not need this, moving things directly into @EXPORT or @EXPORT_OK
19             # will save memory.
20             our %EXPORT_TAGS = ( 'all' => [ qw(
21            
22             ) ] );
23              
24             our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
25              
26             our @EXPORT = qw(
27            
28             );
29              
30             our $VERSION = '0.10';
31              
32             sub AUTOLOAD {
33             # This AUTOLOAD is used to 'autoload' constants from the constant()
34             # XS function.
35              
36 0     0     my $constname;
37 0           our $AUTOLOAD;
38 0           ($constname = $AUTOLOAD) =~ s/.*:://;
39 0 0         croak "&Set::IntervalTree::constant not defined!" if $constname eq 'constant';
40 0           my ($error, $val) = constant($constname);
41 0 0         if ($error) { croak $error; }
  0            
42             {
43 2     2   491 no strict 'refs';
  2         4  
  2         217  
  0            
44             # Fixed between 5.005_53 and 5.005_61
45             #XXX if ($] >= 5.00561) {
46             #XXX *$AUTOLOAD = sub () { $val };
47             #XXX }
48             #XXX else {
49 0     0     *$AUTOLOAD = sub { $val };
  0            
50             #XXX }
51             }
52 0           goto &$AUTOLOAD;
53             }
54              
55             require XSLoader;
56             XSLoader::load('Set::IntervalTree', $VERSION);
57              
58             # Preloaded methods go here.
59              
60             # Autoload methods go after =cut, and are processed by the autosplit program.
61              
62             1;
63             __END__