#!/usr/bin/perl
use strict;
use warnings;
use stl;
print ">>>$0>>>:\n";
my $v = list();
$v->push_back($v->factory(data => 'first'));
$v->push_back($v->factory(data => 'second'));
$v->push_back($v->factory(data => 'third'));
$v->push_back($v->factory(data => 'fourth'));
$v->push_back($v->factory(data => 'fifth'));
print "Original:\n"; for_each($v->begin(), $v->end(), MyPrint->new());
print '$v->sort();', "\n";
$v->sort();
print "Sorted:\n"; for_each($v->begin(), $v->end(), MyPrint->new());
# ----------------------------------------------------------------------------------------------------
{
package MyPrint;
use base qw(Class::STL::Utilities::FunctionObject::UnaryFunction);
sub function_operator
{
my $self = shift;
my $element = shift;
print "Data:", $element->data(), "\n";
}
}
# ----------------------------------------------------------------------------------------------------
syntax highlighted by Code2HTML, v. 0.9.1