Rule M5-3-1 (required, implementation, automated)

Each operand of the ! operator, the logical && or the logical || operators shall have type bool. See MISRA C++ 2008 [7]