Projects / bit


bit is a library that makes it easier to dynamically manipulate data buffers containing fields that do not have octet (byte) boundaries. An example is the IP header, which is generally dealt with at compile time via bit fields in a structure. A key feature of the bit library is support for loading data formats described in XML files and dynamically parsing those fields at run time. This library was initially created to support reading various kinds of robotic device I/O (IR sensors, motors), but it has also been used for run time parsing of IP, TCP, UDP, and RTP headers.


Recent releases

  •  03 Nov 2008 21:30

    Release Notes: A few minor changes and a few code cleanups, but mostly a stable pre-0.5 release.

    •  24 Mar 2007 19:22

      Release Notes: This minor release makes all bit::Data comparison operators const methods, allowing for comparison of const data items.

      •  15 Mar 2007 08:23

        Release Notes: bit::Data was moved to a deep allocation mechanism to allow for a more natural copy syntax.

        •  26 Nov 2006 09:40

          Release Notes: This release now supports both boost and std::tr1 smart pointers. The Buffer and RecordBuffer classes have been restructured, and xml support has been added to the Field/Record hierarchy. This release also contains a new record layout DTD that supports type hints. Roughly 150 unit tests have been added to the testing suite, along with other small changes and bugfixes.

          •  06 Jul 2006 23:17

            Release Notes: A potential type-punning issue when changing endianness for doubles and floats has been fixed. The documentation distribution has been cleaned up a bit.


            Project Spotlight


            A Fluent OpenStack client API for Java.


            Project Spotlight

            TurnKey TWiki Appliance

            A TWiki appliance that is easy to use and lightweight.