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 7     7   47 use strict;
  7         17  
  7         210  
4 7     7   34 use warnings;
  7         12  
  7         220  
5 7     7   36 use RPerl::AfterSubclass;
  7         15  
  7         1375  
6             our $VERSION = 0.008_000;
7              
8             # [[[ OO INHERITANCE ]]]
9 7     7   47 use parent qw(RPerl::DataStructure);
  7         14  
  7         49  
10 7     7   488 use RPerl::DataStructure;
  7         16  
  7         196  
11              
12 7     7   34 use Carp;
  7         12  
  7         414  
13              
14             # [[[ SUB-TYPES BEFORE INCLUDES ]]]
15 7     7   2619 use RPerl::DataStructure::Hash::SubTypes;
  7         20  
  7         37  
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 7     7   53 use RPerl::HelperFunctions_cpp;
  7         15  
  7         280  
22 7     7   36 RPerl::HelperFunctions_cpp::cpp_load();
23             }
24              
25 7     7   38 use RPerl::DataType::Void;
  7         19  
  7         139  
26 7     7   36 use RPerl::DataType::Boolean;
  7         15  
  7         48  
27 7     7   50 use RPerl::DataType::UnsignedInteger;
  7         16  
  7         51  
28 7     7   42 use RPerl::DataType::Integer;
  7         14  
  7         87  
29 7     7   50 use RPerl::DataType::Number;
  7         20  
  7         52  
30 7     7   51 use RPerl::DataType::Character;
  7         24  
  7         52  
31 7     7   50 use RPerl::DataType::String;
  7         20  
  7         49  
32 7     7   51 use RPerl::DataType::Scalar;
  7         20  
  7         222  
33 7     7   40 use RPerl::DataType::Unknown;
  7         15  
  7         229  
34 7     7   43 use RPerl::DataStructure::Array;
  7         31  
  7         308  
35              
36             # [[[ EXPORTS ]]]
37             # DEV NOTE: avoid "Undefined subroutine &main::integer_to_string called"
38 7     7   40 use RPerl::Exporter 'import';
  7         18  
  7         43  
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 7     7   47 use strict;
  7         14  
  7         171  
53 7     7   37 use warnings;
  7         17  
  7         476  
54 3     3   1135 sub RPerl__DataStructure__Hash__MODE_ID { return 0; }
55              
56             1; # end of class