All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
bits16.h
Go to the documentation of this file.
1 /**********************************************************************
2  * File: bits16.h (Formerly bits8.h)
3  * Description: Code for 8 bit field class.
4  * Author: Phil Cheatle
5  * Created: Thu Oct 17 10:10:05 BST 1991
6  *
7  * (C) Copyright 1991, Hewlett-Packard Ltd.
8  ** Licensed under the Apache License, Version 2.0 (the "License");
9  ** you may not use this file except in compliance with the License.
10  ** You may obtain a copy of the License at
11  ** http://www.apache.org/licenses/LICENSE-2.0
12  ** Unless required by applicable law or agreed to in writing, software
13  ** distributed under the License is distributed on an "AS IS" BASIS,
14  ** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  ** See the License for the specific language governing permissions and
16  ** limitations under the License.
17  *
18  **********************************************************************/
19 
20 #ifndef BITS16_H
21 #define BITS16_H
22 
23 #include "host.h"
24 
26 {
27  public:
29 
30  BITS16() {
31  val = 0;
32  } // constructor
33 
34  BITS16( // constructor
35  uinT16 init); // initial val
36 
37  void turn_on_bit( // flip specified bit
38  uinT8 bit_num) { // bit to flip 0..7
39  val = val | 01 << bit_num;
40  };
41 
42  void turn_off_bit( // flip specified bit
43  uinT8 bit_num) { // bit to flip 0..7
44  val = val & ~(01 << bit_num);
45  };
46 
47  void set_bit( // flip specified bit
48  uinT8 bit_num, // bit to flip 0..7
49  BOOL8 value) { // value to flip to
50  if (value)
51  val = val | 01 << bit_num;
52  else
53  val = val & ~(01 << bit_num);
54  };
55 
56  BOOL8 bit( // access bit
57  uinT8 bit_num) const { // bit to access
58  return (val >> bit_num) & 01;
59  };
60 };
61 #endif
BITS16()
Definition: bits16.h:30
void turn_on_bit(uinT8 bit_num)
Definition: bits16.h:37
BOOL8 bit(uinT8 bit_num) const
Definition: bits16.h:56
unsigned char BOOL8
Definition: host.h:113
Definition: bits16.h:25
uinT16 val
Definition: bits16.h:28
void set_bit(uinT8 bit_num, BOOL8 value)
Definition: bits16.h:47
void turn_off_bit(uinT8 bit_num)
Definition: bits16.h:42
#define DLLSYM
Definition: platform.h:25
unsigned short uinT16
Definition: host.h:101
unsigned char uinT8
Definition: host.h:99