ccutil/bits16.h

Go to the documentation of this file.
00001 
00020 #ifndef           BITS16_H
00021 #define           BITS16_H
00022 
00023 #include "host.h"
00024 
00029 class DLLSYM BITS16
00030 {
00031   public:
00032     UINT16 val;
00033 
00034     BITS16() { 
00035       val = 0;
00036     }                            // constructor
00037 
00038     BITS16(               // constructor
00039            UINT16 init);  // initial val
00040 
00041     void turn_on_bit(                  // flip specified bit
00042                      UINT8 bit_num) {  // bit to flip 0..7
00043       val = val | 01 << bit_num;
00044     };
00045 
00046     void turn_off_bit(                  // flip specified bit
00047                       UINT8 bit_num) {  // bit to flip 0..7
00048       val = val & ~(01 << bit_num);
00049     };
00050 
00051     void set_bit(                // flip specified bit
00052                  UINT8 bit_num,  // bit to flip 0..7
00053                  BOOL8 value) {  // value to flip to
00054       if (value)
00055         val = val | 01 << bit_num;
00056       else
00057         val = val & ~(01 << bit_num);
00058     };
00059 
00060     BOOL8 bit(                        // access bit
00061               UINT8 bit_num) const {  // bit to access
00062       return (val >> bit_num) & 01;
00063     };
00064 };
00065 #endif

Generated on Wed Feb 28 19:49:08 2007 for Tesseract by  doxygen 1.5.1