Revision history for Perl extension Heap::Simple.
Plan:
- Deleting
- return undef on underflow if requested
- Tied interface
- Special handling for duplicate keys (error, share, overwrite, separate)
- add a callback for elements lost in max_count overflow
0.07
- Split off Heap::Simple to its own package. This package is now
Heap::Simple::Perl
- Add a "top" method.
- Use the "official" constant for infinity (9**9**9)
- Expand array, hash and method keys inplace (if safe)
- Check for unknown options
- Generate code in proper package and with proper name
(defining a function twice is now a redefine warning)
- _make substitutions functions must start with _, not just contain it
- drop the (always undocumented) internal _init method.
It was too awkward to use anyways.
- Move perl code to Simple/Perl.pm in preparation for an XS switch
- Renamed the "Key" element type to "Scalar". "Key" remains supported
for backward compatibility.
- Consistent error message for getting an element of an empty heap.
- Document that the methods that return undef on empty are only
guaranteed to do so in scalar context.
- Added an extract_first method that returns nothing on empty.
- Replace test suite with a much cleaner one
- More fair speed testing
- Added speed compare with Array::Heap2
- Added "wrapped", "order" and "elements" methods.
- Make index 0 into a hash now that more and more attributes get added
- Save and restore $@ around _make() based code creation.
0.06 2004-09-29
- Don't scare away users by directly explaining all possibilities in
the docs. Add examples to the top to show basic usage.
- Fix author email.
- Be paranoid about defining an expanded function twice.
- Rename extract_min to extract_top (like Heap did). Keep
extract_min around for backward compatibility. Same with top_key
(used to be min_key)
- Move Simple.pm into lib/Heap
- Allow Simple.pm and package version to be different
0.05 2003-05-20
- reorder s.t to take much less memory (failed on fast machines with
little memory).
- Added keys, values and clear methods, with tests and documentation
0.04 2003-05-19
- Small documentation changes
- Bugfix: "Any" and "Object" element types without arguments failed
0.03 2003-05-19
- Added settable infinity
- Added generic compare function
- min_key now always exists, but can fail on empty heaps
- reordered $self->[0] from most to least likely
- Added the Object and Any element methods
- Added testcases for element methods Method, Object, Function and Any
- Added method "key_insert"
- Added testcases for generic compare
- Added method "key"
- Documented all new stuff
- Reduce the number of tests. Still way too many though.
0.02 2003-05-15
- Added testcases for > and gt
- Cleaned up the tests a bit
- Do a bit less work in the tests (faster)
- autocalibrate the big benchmark test.
- Unify n.t and s.t. Only run the number variant by default.
- Unify 2.t into 1.t
- changed the macro-expander so it supports balanced parenthesis
- Added the Method and Function element types for completely general
key fetching (not documented or tested yet)
0.01 2003-05-14
- original version; created by h2xs 1.22 with options
-X -n Heap::Simple
- Insert code from my old FastHeap module
- Slight code changes
- Make special versions (Plain, Array, Hash)
- add testcases
- Prepare for release
- Module set too simular, names too confusing. Refactor module names
into arguments.
- remove perl 5.6 dependencies (untested)
- Prepare for release again.