package KinoSearch::Index::TermEnum;
use strict;
use warnings;
use KinoSearch::Util::ToolSet;
use base qw( KinoSearch::Util::Class );
our %instance_vars = __PACKAGE__->init_instance_vars();
=begin comment
$term_enum->seek($term);
Locate the Enum to a particular spot.
=end comment
=cut
sub seek { shift->abstract_death }
=begin comment
my $evil_twin = $term_enum->clone_enum;
Return a dupe, in the same state as the orig.
=end comment
=cut
sub clone_enum { shift->abstract_death }
=begin comment
my $not_end_of_enum_yet = $term_enum->next;
Proceed to the next term. Return true until we fall off the end of the Enum,
then return false.
=end comment
=cut
sub next { shift->abstract_death }
sub skip_to { shift->todo_death }
=begin comment
my $termstring = $term_enum->get_termstring;
Return a termstring, if the Enum is in a state where it's valid to do so.
Otherwise, return undef.
=end comment
=cut
sub get_termstring { shift->abstract_death }
sub get_terminfo { shift->abstract_death }
sub get_index_interval { shift->abstract_death }
sub get_size { shift->abstract_death }
sub close { shift->abstract_death }
1;
__END__
=begin devdocs
=head1 NAME
KinoSearch::Index::TermEnum - scan through a list of Terms
=head1 SYNOPSIS
# abstract base class
=head1 DESCRIPTION
Conceptually, a TermEnum is a array of Term => TermInfo pairs, sorted
lexically by term field name, then term text. The implementations in
KinoSearch solve the same problem that tied arrays solve: it is possible to
iterate through the array while loading as little as possible into memory.
=head1 COPYRIGHT
Copyright 2005-2006 Marvin Humphrey
=head1 LICENSE, DISCLAIMER, BUGS, etc.
See L<KinoSearch|KinoSearch> version 0.08.
=end devdocs
=cut