libscl続き、Judy

libsclはイテレータ使用中にコンテナを操作できないという問題があって、私の用途だとこれが致命的だったので使うのをあきらめました…。

で、かわりに使ってみたのが Judy http://judy.sourceforge.net/ 。 このライブラリではデータは疎な配列として扱われて、データの探索は first/last/next.prev の探索関数にキーへのポインタを渡すことで行う。同時アクセスさえmutexで保護してやれば、どれだけ処理がネストしても問題ない。性能も悪くないし素晴らしい。ライセンスはLGPL