NAME
Data::Range::Compare::Stream::Iterator::Consolidate::FillMissing - Post Consolidation Iterator used to fill gaps
SYNOPSIS
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]
DESCRIPTION
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.
OO Methods
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.
SEE ALSO
Data::Range::Compare::Stream::Cookbook
AUTHOR
Michael Shipper
Source-Forge Project
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
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.