Projects / Erwin Data Structures

Erwin Data Structures

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.

Operating Systems

Recent releases

  •  16 Sep 2008 05:18

    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.

    •  28 Aug 2008 11:19

      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.

      •  22 Apr 2008 17:08

        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.

        •  08 Feb 2007 23:29

          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.

          •  20 Sep 2006 17:13

            Release Notes: This release fixes a segfault in Map_intersect. The code has been fixed for newer versions of gcc.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.