The Erwin library is a very efficient and robust data structure template library for C and C++. No templates are used; a Perl script generates C files. Vectors (dynamic arrays), lists, and hash tables (maps) of arbitrary key and value types are provided. Several tools are included for auto-generating a C interface around C++ libraries, C++ extensions like slots/properties, symbol (=hashed string) management, sophisticated assertion macros, and documentation extraction.
|Tags||Software Development Utilities|
|Operating Systems||Windows POSIX Linux BSD Solaris Mac OS X|
|Implementation||C C++ Perl|
Release Notes: Operator== was broken in Map and Vector: its const qualifier was missing. This is potentially very hazardous, because the C++ compiler will silently use the default byte-wise comparison instead if the static type is const. Several years of testing had not revealed this; it was fixed immediately upon discovery.
Release Notes: Integer overflows leading to unexpected orderings were fixed from many comparison functions. CMake support was added. Two more bit operations from Hacker's Delight were added.
Release Notes: Many changes were made to support 64-bit machines. Threading support was improved. The hash functions are faster and distribute better. Some bugs were fixed and many features were added.
Release Notes: Compilation failures with certain option settings have been fixed. The main hash function for vectors has been greatly improved. Support for global settings of common options has been added.
Release Notes: This release fixes a segfault in Map_intersect. The code has been fixed for newer versions of gcc.