[fpc-pascal] Sets
Juha Manninen
juha.manninen62 at gmail.com
Wed Oct 2 19:09:25 CEST 2013
If I have have a set with < 9 elements, like :
type
TMyEnum = (
xOne,
xTwo,
xThree,
xFour,
xFive
);
// Count <= 8, fits in one Byte
TMyEnums = set of TMyEnum;
then in Delphi a variable of that type can be casted to Byte. Other
casts don't work.
In FPC I must cast it to Integer!
Does it really mean that all sets in FPC reserve at least 32 bits? Is
it documented? I did not find it as "Set" gives so many false matches.
I hope the implementation is otherwise compatible with Delphi, meaning
that the bits start from LSB always. I rely now on this implementation
detail. There is code that transfers bitfields between computers.
Using type checking and descriptive names makes the code better in
many ways, compared to using integers & AND operator.
Juha
More information about the fpc-pascal
mailing list