enums-and-flags {RGtk2} | R Documentation |
Convenience functions and operators for operating on bitflags and enums
as.flag(x) "[.flags"(x, value) "|.flag"(x, y) "&.flag"(x, y) "!.flag"(x) "==.flag"(x, y) "==.enum"(x, y)
x |
Numeric value to coerce to a flag , an object of class flags , or the left hand operand |
y |
Right hand operand |
value |
The character id or index for a particular flag in a flags vector |
The libraries bound by RGtk2 often return numeric values that are either bitflags or enumerations. In order to facilitate operations on these types (especially bitflags), several methods have been defined corresponding to conventional operators for performing bitwise operations and comparisons.
Sometimes the API does not return a value specifically as a flag
or enum
.
In this case, it is a generic numeric value and should be coerced with as.flag
.
RGtk2 defines all of the enum and flag types from the API's as vectors of class
flags
or enums
with their names corresponding to the character
nicknames of the values. The [
operator on the flags
class
retrieves a value as a flag
. This only necessary for the bitwise ops and
thus is not necessary for enums.
The ==
operators compare a flag
or enum
with either a
character or numeric representation. For a flag
, it is also possible to
compare against a logical
to test whether it is non-zero, similar to C.
A flag
for as.flag
, [.flags
, and the bitwise operators.
A logical value for the comparison operators.
Michael Lawrence