NAME
Heap::Simple::XS - An XS implementation of the Heap::Simple interface
SYNOPSIS
# Let Heap::Simple decide which implementation that provides its interface
# it will load and use. This may be Heap::Simple::XS or it may not be.
# Still, this is the normal way of using Heap::Simple
use Heap::Simple;
my $heap = Heap::Simple->new(...);
# Use heap as described in the Heap::Simple documentation
# If for some reason you insist on using this version:
use Heap::Simple::XS;
my $heap = Heap::Simple::XS->new(...);
# Use the XS heap as described in the Heap::Simple documentation
DESCRIPTION
This module provides a pure perl implementation of the interface described in Heap::Simple. Look there for a description.
NOTES
Even though this implementation is written in C, it fully supports overloading and magic (like ties).
The dirty option will cause scalars for the
<
and>
orders to be stored internally as an NV (double or long double). This means you lose magic, overload and any internal integer representation.The
<
and>
order will also causeArray
andHash
elements to get their key internally cached as a NV. So indirect changes to the value won't be noticed anymore (but most of the time you shouldn't do that anyways).Heap::Simple->implementation will return
"Heap::Simple::XS"
if it selected this module.
EXPORT
None.
SEE ALSO
Heap::Simple, Heap::Simple::Perl
AUTHOR
Ton Hospel, <Heap::Simple::XS@ton.iguana.be>
Parts are inspired by code by Joseph N. Hall http://www.perlfaq.com/faqs/id/196
COPYRIGHT AND LICENSE
Copyright (C) 2004 by Ton Hospel
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.6.1 or, at your option, any later version of Perl 5 you may have available.