class bits
{
public:
- enum { BaseTypeBitCount = sizeof(_BaseType)*8; };
+ enum { BaseTypeBitCount = sizeof(_BaseType)*8 };
enum { ArraySize = (_BitCount + BaseTypeBitCount - 1) / 8 };
typedef _BaseType ArrayType[ArraySize];
typedef _BaseType T;
void set(size_t index, bool b){ return get_bit_ptr().set(b); }
bitref<T> operator [] (size_t index){ return get_bit_ptr().get_bit_ref(); }
+ operator unsigned long() const { return internal_array()[0]; }
+
//////////////////////////////////////////////////////
//ArrayType internal_array(){ return m_array; }
_BaseType* internal_array(){ return m_array; }
- size_t size(){ return _BitCount; }
+ const _BaseType* internal_array() const { return m_array; }
+ size_t size() const { return _BitCount; }
/*size_t length(){ return _BitCount; }
size_t size(){ return ArraySize; }*/
};