cpp/concepts/boolean-testable

The exposition-only concept specifies the requirements for expressions that are convertible to  and for which the logical operators have the usual behavior (including short-circuiting), even for two different  types.

Formally, to model the exposition-only concept, the type must not define any member and , and no viable non-member  and  may be visible by argument-dependent lookup. Additionally, given an expression such that  is,  is modeled only if.