File Coverage

blib/lib/RPerl/DataStructure/Hash.pm
Criterion Covered Total %
statement 65 65 100.0
branch n/a
condition n/a
subroutine 23 23 100.0
pod n/a
total 88 88 100.0


line stmt bran cond sub pod time code
1             # [[[ HEADER ]]]
2             package RPerl::DataStructure::Hash;
3 9     9   58 use strict;
  9         20  
  9         236  
4 9     9   48 use warnings;
  9         20  
  9         208  
5 9     9   46 use RPerl::AfterSubclass;
  9         16  
  9         1218  
6             our $VERSION = 0.007_000;
7              
8             # [[[ OO INHERITANCE ]]]
9 9     9   61 use parent qw(RPerl::DataStructure);
  9         19  
  9         53  
10 9     9   504 use RPerl::DataStructure;
  9         28  
  9         160  
11              
12 9     9   44 use Carp;
  9         19  
  9         433  
13              
14             # [[[ SUB-TYPES BEFORE INCLUDES ]]]
15 9     9   3985 use RPerl::DataStructure::Hash::SubTypes;
  9         21  
  9         630  
16              
17             # [[[ INCLUDES ]]]
18             # for type-checking via SvIOKp(), SvNOKp(), and SvPOKp(); inside INIT to delay until after 'use MyConfig'
19             #INIT { RPerl::diag("in Hash.pm, loading C++ helper functions for type-checking...\n"); }
20             INIT {
21 9     9   57 use RPerl::HelperFunctions_cpp;
  9         18  
  9         269  
22 9     9   66 RPerl::HelperFunctions_cpp::cpp_load();
23             }
24              
25 9     9   40 use RPerl::DataType::Void;
  9         17  
  9         133  
26 9     9   39 use RPerl::DataType::Boolean;
  9         16  
  9         533  
27 9     9   50 use RPerl::DataType::UnsignedInteger;
  9         21  
  9         619  
28 9     9   59 use RPerl::DataType::Integer;
  9         21  
  9         471  
29 9     9   48 use RPerl::DataType::Number;
  9         19  
  9         456  
30 9     9   50 use RPerl::DataType::Character;
  9         22  
  9         503  
31 9     9   73 use RPerl::DataType::String;
  9         24  
  9         540  
32 9     9   55 use RPerl::DataType::Scalar;
  9         22  
  9         197  
33 9     9   39 use RPerl::DataType::Unknown;
  9         19  
  9         141  
34 9     9   42 use RPerl::DataStructure::Array;
  9         21  
  9         261  
35              
36             # [[[ EXPORTS ]]]
37             # DEV NOTE: avoid "Undefined subroutine &main::integer_to_string called"
38 9     9   50 use Exporter 'import';
  9         20  
  9         660  
39             our @EXPORT = ( @RPerl::DataType::Void::EXPORT,
40             @RPerl::DataType::Boolean::EXPORT,
41             @RPerl::DataType::UnsignedInteger::EXPORT,
42             @RPerl::DataType::Integer::EXPORT,
43             @RPerl::DataType::Number::EXPORT,
44             @RPerl::DataType::Character::EXPORT,
45             @RPerl::DataType::String::EXPORT,
46             @RPerl::DataType::Scalar::EXPORT,
47             @RPerl::DataType::Unknown::EXPORT,
48             @RPerl::DataStructure::Array::EXPORT);
49              
50             # DEV NOTE, CORRELATION #rp018: RPerl::DataStructure::Array & Hash can not 'use RPerl;' so *__MODE_ID() subroutines are hard-coded here
51             package main;
52 9     9   48 use strict;
  9         19  
  9         155  
53 9     9   36 use warnings;
  9         17  
  9         348  
54 7     7   3945 sub RPerl__DataStructure__Hash__MODE_ID { return 0; }
55              
56             1; # end of class