Data::Range::Compare::Stream::Iterator::Consolidate::FillMissing - Post Consolidation Iterator used to fill gaps
use Data::Range::Compare::Stream::Iterator::Consolidate; use Data::Range::Compare::Stream::Iterator::Array; use Data::Range::Compare::Stream; use Data::Range::Compare::Stream::Iterator::Consolidate::FillMissing; my $array=Data::Range::Compare::Stream::Iterator::Array->new; $array->create_range(0,0); $array->create_range(1,1); $array->create_range(3,4); $array->create_range(6,7); $array->set_sorted(1); my $con=Data::Range::Compare::Stream::Iterator::Consolidate->new($array); my $fill=new Data::Range::Compare::Stream::Iterator::Consolidate::FillMissing($con); while($fill->has_next) { my $result=$fill->get_next; my $missing=$result->is_missing ? ' Gap' : ''; print $result,$missing,"\n"; }
Resulting Output:
Commoon Range: [0 - 0] Starting range: [0 - 0] Ending Range: [0 - 0] Commoon Range: [1 - 1] Starting range: [1 - 1] Ending Range: [1 - 1] Commoon Range: [2 - 2] Starting range: [2 - 2] Ending Range: [2 - 2] Gap Commoon Range: [3 - 4] Starting range: [3 - 4] Ending Range: [3 - 4] Commoon Range: [5 - 5] Starting range: [5 - 5] Ending Range: [5 - 5] Gap Commoon Range: [6 - 7] Starting range: [6 - 7] Ending Range: [6 - 7]
This class Extends Data::Range::Compare::Stream::Iterator::Base. Unlike all other Consolidator object classes this class takes any consolidator as an argument and returns results that include both the data that was in the orginal set the gaps. Results that represent gaps are tag as $result->is_missing.
my $iterator=new Data::Range::Compare::Stream::Iterator::Consolidate::FillMissing($consolidator);
Instance Constructor: $consolidator needs to be an object that implements or extends Data::Range::Compare::Stream::Iterator::Consolidate.
my $class=$iterator->NEW_RESULT_FROM;
$class will contain the name of the class new result objects will be constructed from. Default value is Data::Range::Compare::Stream::Iterator::Consolidate::Result.
while($iterator->has_next) { ... }
Returns true when there are more rows to fetch.
my $result=$iterator->get_next;
Returns the next Result object. $result->is_missing will be true if the range was not in that set of data.
Data::Range::Compare::Stream::Cookbook
Michael Shipper
As of version 0.001 the Project has been moved to Source-Forge.net
Data Range Compare https://sourceforge.net/projects/data-range-comp/
Copyright 2011 Michael Shipper. All rights reserved.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Data::Range::Compare::Stream, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Data::Range::Compare::Stream
CPAN shell
perl -MCPAN -e shell install Data::Range::Compare::Stream
For more information on module installation, please visit the detailed CPAN module installation guide.