Environment: Visual C++ 6, Windows 95/98/Me/NT/2000/XP
CBitArray behaves like a specialization of the MFC
CArray. A real specialization is not possible
because of a missing simple data type for a bit.
For maximum efficiency the bits are packed into a dynamic array of
unsigned longs. You can easily modify the type of the date
containing the bits (see
typedef ULONG T in the declaration of
CBitArray implements all member functions
of the MFC class including the operator function
 (both for
l-values and r-values).
The private member functions
X are derived from the same-named functions of the class
bitstring written by P.J. Plauger and are published with
permission of the author.