tmp/tmplgu0hbum/{from.md → to.md}
RENAMED
|
@@ -80,21 +80,22 @@ bitmask{}& operator^=(bitmask{}& X, bitmask{} Y) {
|
|
| 80 |
X = X ^ Y; return X;
|
| 81 |
}
|
| 82 |
```
|
| 83 |
|
| 84 |
Here, the names *C0*, *C1*, etc. represent *bitmask elements* for this
|
| 85 |
-
particular bitmask type. All such elements have distinct
|
| 86 |
-
that, for any pair *Ci* and *Cj*
|
| 87 |
-
is zero.
|
|
|
|
| 88 |
|
| 89 |
The following terms apply to objects and values of bitmask types:
|
| 90 |
|
| 91 |
- To *set* a value *Y* in an object *X* is to evaluate the expression
|
| 92 |
-
*X* |= *Y*.
|
| 93 |
- To *clear* a value *Y* in an object *X* is to evaluate the expression
|
| 94 |
-
*X* &= ~*Y*.
|
| 95 |
-
- The value *Y* *is set* in the object *X* if the expression *X* & *Y*
|
| 96 |
is nonzero.
|
| 97 |
|
| 98 |
##### Character sequences <a id="character.seq">[[character.seq]]</a>
|
| 99 |
|
| 100 |
The C standard library makes widespread use of characters and character
|
|
|
|
| 80 |
X = X ^ Y; return X;
|
| 81 |
}
|
| 82 |
```
|
| 83 |
|
| 84 |
Here, the names *C0*, *C1*, etc. represent *bitmask elements* for this
|
| 85 |
+
particular bitmask type. All such elements have distinct, nonzero values
|
| 86 |
+
such that, for any pair *Ci* and *Cj* where *i* != *j*, *Ci* & *Ci* is
|
| 87 |
+
nonzero and *Ci* & *Cj* is zero. Additionally, the value 0 is used to
|
| 88 |
+
represent an *empty bitmask*, in which no bitmask elements are set.
|
| 89 |
|
| 90 |
The following terms apply to objects and values of bitmask types:
|
| 91 |
|
| 92 |
- To *set* a value *Y* in an object *X* is to evaluate the expression
|
| 93 |
+
*X* `|=` *Y*.
|
| 94 |
- To *clear* a value *Y* in an object *X* is to evaluate the expression
|
| 95 |
+
*X* `&= ~`*Y*.
|
| 96 |
+
- The value *Y* *is set* in the object *X* if the expression *X* `&` *Y*
|
| 97 |
is nonzero.
|
| 98 |
|
| 99 |
##### Character sequences <a id="character.seq">[[character.seq]]</a>
|
| 100 |
|
| 101 |
The C standard library makes widespread use of characters and character
|