Macro Subspace :: sus_class_never_value_field
Mark a class field as never being a specific value, often a zero, after a constructor has run and before the destructor has completed. This allows querying if a class is constructed in a memory location, since the class is constructed iff the value of the field is not the never-value.
The named field can be compared to the never_value
to determine if the
object is constructed. The field must be set to the destroy_value
just
prior to destruction. The latter is meant to help the destructor be a no-op
when the type is in a never-value state, if the never-value would be read in
the destructor.
The macro includes private:
which changes the class definition visibility
to private.