NAME
Data::Range::Compare::Stream::Iterator::Consolidate::AdjacentAsc - Consolidates Adjacent, Duplicate and Overlapping ranges
SYNOPSIS
my
$iterator
=Data::Range::Compare::Stream::Iterator::Array->new(
new_from
=>
'Data::Range::Compare::Stream'
,
);
# create a new range and add it to the iterator
$iterator
->create_range(0,0);
my
$range
=Data::Range::Compare::Stream->new(0,1);
# add a new range from the existing one
$iterator
->add_range(
$range
);
$iterator
->prepare_for_consolidate_asc;
my
$processor
=Data::Range::Compare::Stream::Iterator::Consolidate::AdjacentAsc->new(
$iterator
);
while
(
$processor
->has_next) {
# Result objects are instances of: Data::Range::Compare::Stream::Iterator::Consolidate::Result
my
$result
=
$iterator
->get_next;
}
DESCRIPTION
This module extends Data::Range::Compare::Stream::Iterator::Consolidate the consolidation engine and consolidates adjacent ranges. Data::Range::Compare::Stream::Iterator::Consolidate can consolidate ranges sorted in the following order: Consolidation Asc range_start asc,range_end desc.
OO Methods
my $processor=Data::Range::Compare::Stream::Iterator::Consolidate::AdjacentAsc->new($iterator);
my $processor=Data::Range::Compare::Stream::Iterator::Consolidate::AdjacentAsc->new($iterator,factory_instance=>$obj);
Required arguments:
$iterator
# object must implement Data::Range::Compare::Stream::Iterator::Base
Optional arguments
factory_instance
=>
$obj
# defines the object that implements the $obj->factory($start,$end,$data).
# new ranges are constructed from the factory interfcae. If a factory interface
# is not created an instance of Data::Range::Compare::Stream is assumed.
while($processor->has_next) { ... }
Returns true when the there are more ranges to consolidate.consolidate.
my $range=$processor->get_next;
If $processor->has_next returns true Returns a instance of Data::Range::Compare::Stream::Iterator::Consolidate::Result
SEE ALSO
Data::Range::Compare::Stream::Iterator::Consolidate
Data::Range::Compare::Stream::Iterator::Consolidate::Result
Data::Range::Compare::Stream::Iterator::Base
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.