### 1168. Odd wording for bitset equality operators

**Section:** 22.9.2.3 [bitset.members] **Status:** NAD Editorial
**Submitter:** Alisdair Meredith **Opened:** 2009-07-02 **Last modified:** 2016-01-28 10:19:27 UTC

**Priority: **Not Prioritized

**View all other** issues in [bitset.members].

**View all issues with** NAD Editorial status.

**Discussion:**

The following wording seems a little unusual to me:

p42/43 22.9.2.3 [bitset.members]

bool operator==(const bitset<N>& rhs) const;

-42- *Returns:* A nonzero value if the value of each bit in
`*this` equals the value of the corresponding bit in
`rhs`.

bool operator!=(const bitset<N>& rhs) const;

-43- *Returns:* A nonzero value if `!(*this == rhs)`.

"A nonzero value" may be well defined as equivalent to the literal '`true`'
for Booleans, but the wording is clumsy. I suggest replacing "A nonzero value"
with the literal '`true`' (in appropriate font) in each case.

*[
2009-07-24 Alisdair recommends NAD Editorial.
]*

*[
2009-07-27 Pete adds:
]*

It's obviously editorial. There's no need for further discussion.

*[
2009-07-27 Howard sets to NAD Editorial.
]*

**Proposed resolution:**

Change 22.9.2.3 [bitset.members] p42-43:

bool operator==(const bitset<N>& rhs) const;

-42- *Returns:* ~~A nonzero value~~ `true` if the value of each bit in
`*this` equals the value of the corresponding bit in
`rhs`.

bool operator!=(const bitset<N>& rhs) const;

-43- *Returns:* ~~A nonzero value~~ `true` if `!(*this == rhs)`.