$include_dir="/home/hyper-archives/boost-users/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-users] Nstate: dynamic_bitset generalized for bounded integer values?
From: Hostile Fork (hostilefork_at_[hidden])
Date: 2009-03-05 23:18:56
Hello boost-users!
I've written a class in the same spirit as the dynamic_bitset.  But  
instead of being restricted to inserting values that range [0..1], the  
packed values can range from [0..radix-1].  Nothing that fancy, but a  
few people on #boost IRC thought it looked potentially useful, so I  
decided to try announcing it here.  The library is called "Nstate",  
and is released under the boost software license (of course!)
        http://hostilefork.com/nstate/
As an example, I point out that it can fit 20 "Tristates" (a.k.a.  
Nstate<3>) into 32 bits, as opposed to 20 bytes (if one used a packing  
approach with 2 bits per tristate, you would only get 16 of them out  
of 32 bits).
I'm guessing this would be low on the radar in terms of getting vetted  
for inclusion in boost.  But if anyone out there is looking for  
something *like* this, here's a start.  I'd certainly appreciate any  
peer review or wisdom to help make it better, faster,  
smarter...boostier?  So if you're bored and just like making free  
libraries have more "Quality" then please send feedback!  Files are:
        http://github.com/hostilefork/nocycle/blob/master/Nstate.hpp
        http://github.com/hostilefork/nocycle/blob/master/Nstate.cpp
Regards,
Brian