The C5 Generic Collection Library for C# and CLI
"C5 is a library of generic collection classes for C# and other CLI languages, as found in Microsoft .Net version 2.0 and Mono version 1.2.
C5 provides functionality and data structures not provided by the standard .Net System.Collections.Generic namespace, such as persistent tree data structures, heap based priority queues, hash indexed array lists and linked lists, and events on collection changes. Also, it is more comprehensive than collection class libraries on other similar platforms, such as Java. Unlike many other collection class libraries, C5 is designed with a strict policy of supporting "code to interface not implementation".
...
The C5 collection library provides the following data structures, described by C# classes: array list, doubly linked list, hash-indexed array list, hash-indexed linked list, hash set, hash bag (multiset), sorted array, wrapped array, tree set, tree bag (multiset), stack, double-ended queue, circular queue, priority queue (interval heap), hash dictionary, and tree dictionary.
...
The C5 collection library provides the following unusual functionality on collections and dictionaries: collection update events, multiple updatable list views, reversible enumeration, hash indexes on lists, snapshottable tree-based collections, priority queues with item handles, and in general a design with emphasis on orthogonality, flexibility, and preservation of invariants.
..."
This is another Generic collection library, kind of like Power Collections. My collection needs are usually very modest, but when I run into a need for a high powered collections, I sure don’t want to reinvent that wheel... Hence my interest in this.
C5 is from the IT University of Copenhagen and has an "academic feel" to it. Not a bad thing at all, just different from a OSS or commercial feel. In any case, it’s a very complete project (as you might expect) and includes extensive doc’s (both a 254 page PDF and HTML), nUnit tests, and released under a BSD like license ...
(via DotNetKicks - The C5 Generic Collection Library)
No comments:
Post a Comment
NOTE: Anonymous Commenting has been turned off for a while... The comment spammers are just killing me...
ALL comments are moderated. I will review every comment before it will appear on the blog.
Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...
I reserve, and will use, the right to not approve ANY comment for ANY reason. I will not usually, but if it's off topic, spam (or even close to spam-like), inflammatory, mean, etc, etc, well... then...
Please see my comment policy for more information if you are interested.
Thanks,
Greg
PS. I am proactively moderating comments. Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...