arbitrary bitsize of variables
Frank Benoit
keinfarbton at googlemail.com
Sat Sep 29 07:46:21 PDT 2007
dominik schrieb:
> Is it possible in D to do something like this (in C++):
>
> struct Testor {
> int small_int: 5;
> int even_smaller_int: 3;
> };
>
> this basically says make one integer of 5 bit size, and other of 3 bit
> size.. whole structure is 8bits long
>
>
D does not support bitfields. You can use property methods to get/set
bits. They can later be inlined by the compiler.
struct Testor {
int data;
int small_int(){ return data & 0x1f; }
void small_int( int val ){ data = val | (data & ~0x1f); }
...
};
Tricks with templates and mixins are also possible.
More information about the Digitalmars-d-learn
mailing list