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.

Tags Software Development Utilities
Operating Systems Windows Windows POSIX Linux BSD Solaris Mac OS X
Implementation C C++ Perl

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  16 Sep 2008 05:18
  • Rrelease-after

Changes: 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.

  • Rrelease-mid
  •  28 Aug 2008 11:19
  • Rrelease-after

Changes: 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.

Changes: 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.

  • Rrelease-mid
  •  08 Feb 2007 15:29
  • Rrelease-after

Changes: 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.

  • Rrelease-mid
  •  20 Sep 2006 10:13
  • Rrelease-after

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

No-screenshot

Project Spotlight

Measuring Buffer

An enhanced version of buffer.

A68b6544968d30fef7c1f8b85b7f87fb_thumb

Project Spotlight

The Legend of Edgar

A 2D platform game with a persistent world.