| Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NestList is a recursive list structure, inspired by the way lists work
in Rakudo (formerly Perl 6).
|
|
|
|
ReverseListIterator is a ListIterator which iterates over a given list
in reverse, so that next()/prev() are essentially swapped.
|
|
From a conceptual stand-point, this never really made sense.
|
|
This renames several interfaces that had names like IWhatever, since
that isn't a style that Java uses
|
|
|
|
This was some example code I found somewhere that seemed interesting.
|
|
IMap now returns optionals, instead of throwing an exception
|
|
This adds some interesting function combinators
|
|
This allows you to be able to throw one type of checked exception from a
normal function
It also has some methods to allow you to attempt to recover from an
exception and hide the fact that it was thrown
|
|
This adds a 'fixpoint' function which allows you to create recursive
lambda functions more easily
|
|
This adds two iterators (one iterator, one ListIterator) which are
guaranteed not to throw a ConcurrentModificationException. The intended
use case is allowing you to iterate over a list and modify it at the
same time.
Note that this will still give odd behavior in the presence of actual
concurrency, but that is a deliberate tradeoff.
|
|
This gives you an easy way to produce an IHolder, without having to
explicitly construct an instance of Identity
|
|
|
|
Added a static function 'of' to IMap to allow you to more easily create
a map from a list of key-value pairs. However, misuse of this method can
result in getting ClassCastExceptions at some later point, because it
has to use Object var-args + an unsafe generic cast.
So, be careful, I suppose; and please make sure your argument types are
correct.
|
|
|
|
IMap has some default methods that its various implementations were
overriding when they didn't need to
|
|
|
|
This adds a new interface IFreezable, which denotes that your object
supports being 'frozen' (immutable) or 'thawed' (mutable). There is also
optional support for 'deep-freezing' objects, which disables the ability
to thaw them.
It also introduces a new exception called ObjectFrozen, which
implementations of IFreezable may or may not throw when you attempt to
modify a frozen object
|
|
Adds two additional function types which make picking a single element
from an array of elements easier.
Currently, a generic one is provided that works for all reference types,
and a variant specialized for primitive ints is also provided.
|
|
This is a list wrapper that automatically tracks the minimum/maximum
element currently in the list
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Clean up the tests for BooleanToggle, and add a basic test for Either
|
|
Adds ResettableIterator, an iterator type which caches the elements it
iterates over, so as to allow you to re-iterate over them at your
leisure.
Note that because this works by caching, it can consume large amounts of
memory if used on large iterators.
In general, I would suggest only using this on medium-sized or smaller
iterators you know you want to re-iterate over.
|
|
|
|
|
|
|
|
Pass to do some cleanups
|
|
This applies the changes that were necessary to complete the extraction
of these packages from bjc-utils
|
|
Cleanup some warnings
|
|
Cleanup some warnings
|
|
This reimplements the old AbbrevMap structure as AbbrevMap2, and created
a new Multimap structure as a apart of it.
Multimap is exactly what it sounds like; a map that allows multiple
values for a given key. The only real thing that is different about it,
is that if you add a key-value pair multiple times, you'll have to
remove it multiple times.
|
|
|
|
|
|
|