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