HS.lib is a portable C++ library featuring:

  • Reference-counted copy-on-write string class
  • Flexible regular-expression search classes
  • Platform-independent file/directory classes
  • Simple array classes
  • Simple-to-use hash table classes and templates
  • Flexible, simple-to-use log-message class

The library is highly portable and employs a standard Autoconf / Automake build system which means that it likely will work on many systems under various configurations. Platforms on which it has been tested and used regularly include:


HS.lib version 33 was released on 2007-08-08.

Source Code

Platform-agnostic portable C++ source code.


The library employs a standard Autoconf / Automake build system, so the typical idiom for building such a project is followed:

tar -xjf libHS-v33.tar.bz2
cd libHS-v33
make check # optional
sudo make install

The configure script recognizes several options specific to this project:

--enable-universal-binary, --disable-universal-binary
On Mac OS X, build the project as a universal binary for Intel and PowerPC platforms. This option is enabled by default if the universal binary SDK is installed, else it is disabled.
--enable-cygwin, --disable-cygwin
When building on Windows with Cygwin, enabling this option causes the project to have a dependency upon the Cygwin runtime (cygwin1.dll). Disabling this option removes the Cygwin dependency and instead builds the project against only the Win32 API. This option is disabled by default.
--enable-demos, --disable-demos
Build and install the demonstration programs (HSDecode, HSEncode, HSLinkTarget, HSWhatsLocked, HSWhatsNew) included with the project. This option is enabled by default.