ker wrote:
a small patch for linux is still needed, i used those "typename *::iterator" for a reason, g++ seams to have problems with template types inside of templates of templates inside template classes (if I got the wording wrong somewhere, sorry ^^ it's a somewhat odd bug)
Ah, sorry. I only took it out because I didn't fully understand it, and Visual Studio seemed fine without it. Except it did complain in the case of the eraseBlock() function for some reason so I left that one in. Anyway, I've applied the patch so it's back in.
ker wrote:
I'll look into performance once I actually end up having performance problems.
Sure thing - once this is back in the trunk and being used by more people I'm sure we'll get feedback about what needs improving. As you already said, we can try a different internal data structure (map vs hash) and also the code I wrote for finding the oldest uncompressed block is pretty slow. But these are all implementatrion details - the important thing for now is the interface.
Anyway, I'm nearly done with my changes. Hope it doesn't seem like I'm picking your work apart too much - you did a really great job with this.