/* * CENA C++ Utilities * * by Stephane Chatty * * Copyright 1992 * Centre d'Etudes de la Navigation Aerienne (CENA) * * bit fields * * $Id$ * $CurLog$ */ #ifndef BitField_H_ #define BitField_H_ #include "bool.h" class CcuBitRef { friend class CcuBitField; protected: short Chunk; short Offset; CcuBitField& Field; inline CcuBitRef (CcuBitField& f, short c, short o) : Field (f), Chunk (c), Offset (o) {} public: operator bool () const; bool operator = (bool) const; }; class CcuBitField { friend class CcuBitRef; protected: long Chunks [8]; public: CcuBitField (); CcuBitRef operator [] (int); }; #endif /* BitField_H_ */