<?xml version="1.0"?>
<clause number="14.10" title="Logical operators">
  <paragraph>The &amp;, ^, and | operators are called the logical operators. <grammar_production><name><non_terminal where="14.10">and-expression</non_terminal></name> : <rhs><non_terminal where="14.9">equality-expression</non_terminal></rhs><rhs><non_terminal where="14.10">and-expression</non_terminal><terminal>&amp;</terminal><non_terminal where="14.9">equality-expression</non_terminal></rhs></grammar_production><grammar_production><name><non_terminal where="14.10">exclusive-or-expression</non_terminal></name> : <rhs><non_terminal where="14.10">and-expression</non_terminal></rhs><rhs><non_terminal where="14.10">exclusive-or-expression</non_terminal><terminal>^</terminal><non_terminal where="14.10">and-expression</non_terminal></rhs></grammar_production><grammar_production><name><non_terminal where="14.10">inclusive-or-expression</non_terminal></name> : <rhs><non_terminal where="14.10">exclusive-or-expression</non_terminal></rhs><rhs><non_terminal where="14.10">inclusive-or-expression</non_terminal><terminal>|</terminal><non_terminal where="14.10">exclusive-or-expression</non_terminal></rhs></grammar_production></paragraph>
  <paragraph>For an operation of the form x op y, where op is one of the logical operators, overload resolution (<hyperlink>14.2.4</hyperlink>) is applied to select a specific operator implementation. The operands are converted to the parameter types of the selected operator, and the type of the result is the return type of the operator. </paragraph>
  <paragraph>The predefined logical operators are described in the following sections. </paragraph>
</clause>
