Audio::TagLib::APE::ItemListMap::Iterator - Perl-only class


Audio-TagLib documentation Contained in the Audio-TagLib distribution.

Index


Code Index:

NAME

Top

Audio::TagLib::APE::ItemListMap::Iterator - Perl-only class

SYNOPSIS

Top

  use Audio::TagLib::APE::ItemListMap;

  my $key1   = Audio::TagLib::String->new("key1");
  my $key2   = Audio::TagLib::String->new("key2");
  my $value1 = Audio::TagLib::String->new("value1");
  my $value2 = Audio::TagLib::String->new("value2");
  my $item1  = Audio::TagLib::APE::Item->new($key1, $value1);
  my $item2  = Audio::TagLib::APE::Item->new($key2, $value2);
  my $map   = Audio::TagLib::APE::ItemListMap->new();
  $map->insert($key1, $item1);
  $map->insert($key2, $item2);
  my $i     = $map->begin();

  print $$i->toString()->toCString(), "\n"; # got "value1"
  $i++;
  print $i->data()->toString()->toCString(), "\n"; # got "value2"
  print ${--$i}->toString()->toCString(), "\n"; # got "value1"

DESCRIPTION

Top

Implements C++ std::map::iterator to be corporately used with ItemListMap.

new()

Generates an iterator attached with no map.

new(Iterator $it)

Copy constructor.

DESTROY()

Deletes the instance.

Item data()

Returns the Item pointed by current iterator.

overloaded by operator q(${})

Iterator next()

Moves to next item.

overloaded by operator q(++)

Iterator last()

Moves to last item.

overloaded by operator q(--)

void copy(Iterator $it)

Makes a copy of $it.

OVERLOADED OPERATORS

${} = ++ --

EXPORT

None by default.

SEE ALSO

Top

ItemListMap Audio::TagLib

AUTHOR

Top

Dongxu Ma, <dongxu@cpan.org>

COPYRIGHT AND LICENSE

Top


Audio-TagLib documentation Contained in the Audio-TagLib distribution.

package Audio::TagLib::APE::ItemListMap::Iterator;

use 5.008003;
use strict;
use warnings;

our $VERSION = '1.41';

use Audio::TagLib;

use overload
  q(${}) => sub { my $data = shift->data(); \$data;},
  q(=)   => sub { __PACKAGE__->new($_[0]); },
  q(++)  => sub { shift->next();},
  q(--)  => sub { shift->last();};

#  q(+=)  => sub { shift->forward($_[0]);},
#  q(-=)  => sub { shift->backward($_[0]);};

# Preloaded methods go here.

1;
__END__
# Below is stub documentation for your module. You'd better edit it!