tmp/tmprj3seqlv/{from.md → to.md}
RENAMED
|
@@ -46,18 +46,19 @@ bitmask{}& operator^=(bitmask{}& X, bitmask{} Y) {
|
|
| 46 |
X = X ^ Y; return X;
|
| 47 |
}
|
| 48 |
```
|
| 49 |
|
| 50 |
Here, the names *C0*, *C1*, etc. represent *bitmask elements* for this
|
| 51 |
-
particular bitmask type. All such elements have distinct
|
| 52 |
-
that, for any pair *Ci* and *Cj*
|
| 53 |
-
is zero.
|
|
|
|
| 54 |
|
| 55 |
The following terms apply to objects and values of bitmask types:
|
| 56 |
|
| 57 |
- To *set* a value *Y* in an object *X* is to evaluate the expression
|
| 58 |
-
*X* |= *Y*.
|
| 59 |
- To *clear* a value *Y* in an object *X* is to evaluate the expression
|
| 60 |
-
*X* &= ~*Y*.
|
| 61 |
-
- The value *Y* *is set* in the object *X* if the expression *X* & *Y*
|
| 62 |
is nonzero.
|
| 63 |
|
|
|
|
| 46 |
X = X ^ Y; return X;
|
| 47 |
}
|
| 48 |
```
|
| 49 |
|
| 50 |
Here, the names *C0*, *C1*, etc. represent *bitmask elements* for this
|
| 51 |
+
particular bitmask type. All such elements have distinct, nonzero values
|
| 52 |
+
such that, for any pair *Ci* and *Cj* where *i* != *j*, *Ci* & *Ci* is
|
| 53 |
+
nonzero and *Ci* & *Cj* is zero. Additionally, the value 0 is used to
|
| 54 |
+
represent an *empty bitmask*, in which no bitmask elements are set.
|
| 55 |
|
| 56 |
The following terms apply to objects and values of bitmask types:
|
| 57 |
|
| 58 |
- To *set* a value *Y* in an object *X* is to evaluate the expression
|
| 59 |
+
*X* `|=` *Y*.
|
| 60 |
- To *clear* a value *Y* in an object *X* is to evaluate the expression
|
| 61 |
+
*X* `&= ~`*Y*.
|
| 62 |
+
- The value *Y* *is set* in the object *X* if the expression *X* `&` *Y*
|
| 63 |
is nonzero.
|
| 64 |
|