
src/pmc/boolean.pmc - Boolean PMC

This PMC implements a Boolean type with a single true/false value.
A Boolean does not morph to other types when its value is set; it simply changes its value.
This implementation of Boolean inherits from the Scalar PMC.
Unlike the previous implementation,
it does not inherit from Integer.
void init()Create a new Boolean with initial value FALSE.
void init_pmc(PMC *value)Create a new Boolean with the given initial value interpreted as a Boolean.
void init_int(INTVAL value)Create a new Boolean with the given initial value interpreted as a Boolean.
INTVAL get_bool()Obtain the value of the Boolean as an integer: 1 = TRUE,
0 = FALSE.
INTVAL get_integer()Same as get_bool().
FLOATVAL get_number()Obtain the value of the Boolean as a float: 1.0 = TRUE,
0.0 = FALSE.
STRING *get_string()Obtain the value of the Boolean as a string: "1" = TRUE,
"0" = FALSE.
void set_bool(INTVAL value)Sets the value of the Boolean to the specified integer value: 0 = FALSE,
non-0 = TRUE.
void set_integer_native(INTVAL value)Same as set_bool().
void set_number_native(FLOATVAL value)Sets the value of the Boolean to the specified float value: 0.0 = FALSE,
non-0.0 = TRUE.
void set_string_native(STRING *value)Sets the Boolean to the value represented by the specified string.
All values are considered TRUE except for "" and "0",
which are considered FALSE.
INTVAL is_equal(PMC *value)The == operation.
void freeze(PMC *info)Used to archive the Boolean.
void thaw(PMC *info)Used to unarchive the Boolean.
See also the Scalar PMC.