27 BitPage(
int bits_per_ent,
unsigned char init_val );
43 void get_bits(
int offset,
int count,
int bits_per_ent,
unsigned char* data )
const;
60 void set_bits(
int offset,
int count,
int bits_per_ent,
const unsigned char* data );
76 void set_bits(
int offset,
int count,
int bits_per_ent,
unsigned char value );
90 unsigned char get_bits(
int offset,
int bits_per_ent )
const;
105 void set_bits(
int offset,
int bits_per_ent,
unsigned char data );
119 void search(
unsigned char value,
int offset,
int count,
int bits_per_ent,
Range& results,
EntityHandle start )
131 unsigned char mask = (
unsigned char)( 1 << per_ent ) - 1;
132 int byte = ( offset * per_ent ) >> 3;
133 int bit = ( offset * per_ent ) & 7;
135 return (
unsigned char)(
byteArray[byte] >> bit ) & mask;
140 int byte = ( offset * per_ent ) >> 3;
141 int bit = ( offset * per_ent ) & 7;
145 unsigned char mask = (
unsigned char)( ( 1 << per_ent ) - 1 ) << bit;
151 unsigned char* end = data + count;
153 *( data++ ) =
get_bits( offset++, per_ent );
158 const unsigned char* end = data + count;
160 set_bits( offset++, per_ent, *( data++ ) );
165 int end = offset + count;
166 while( offset < end )
167 set_bits( offset++, per_ent, value );