<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to operators-xor</title><link>https://sourceforge.net/p/asil/wiki/operators-xor/</link><description>Recent changes to operators-xor</description><atom:link href="https://sourceforge.net/p/asil/wiki/operators-xor/feed" rel="self"/><language>en</language><lastBuildDate>Fri, 21 Feb 2014 09:15:19 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/asil/wiki/operators-xor/feed" rel="self" type="application/rss+xml"/><item><title>operators-xor modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/operators-xor/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Meant for boolean XOR operations.  You don't need to override this operator.  Just override &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-and/"&gt;and&lt;/a&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-or/"&gt;or&lt;/a&gt;&lt;/strong&gt;, and &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-not/"&gt;not&lt;/a&gt;&lt;/strong&gt;.  The compiler will automatically create a matching version of the &lt;strong&gt;xor&lt;/strong&gt; operator for you.  In order for &lt;strong&gt;xor&lt;/strong&gt; to be generated, the parameter types and return type for &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-or/"&gt;and&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-or/"&gt;or&lt;/a&gt;&lt;/strong&gt; must match each other.  Furthermore, the parameter and return type of &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-not/"&gt;not&lt;/a&gt;&lt;/strong&gt; must match those declared by &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-or/"&gt;and&lt;/a&gt;&lt;/strong&gt; and &lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-or/"&gt;or&lt;/a&gt;&lt;/strong&gt;.  The compiler will then copy those parameter and return types to the new &lt;strong&gt;xor&lt;/strong&gt; override.&lt;/p&gt;
&lt;h2 id="typical-prototype"&gt;Typical prototype&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;operator&lt;/span&gt; &lt;span class="n"&gt;xor&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;TypeDescriptor1&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;left&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;TypeDescriptor2&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt; &lt;span class="n"&gt;right&lt;/span&gt;
  &lt;span class="n"&gt;returns&lt;/span&gt; &lt;span class="n"&gt;boolean&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="built-in-implementation-for-the-boolean-type"&gt;Built-in implementation for the boolean type&lt;/h2&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="n"&gt;operator&lt;/span&gt; &lt;span class="n"&gt;xor&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;boolean&lt;/span&gt; &lt;span class="n"&gt;bLeft&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;boolean&lt;/span&gt; &lt;span class="n"&gt;bRight&lt;/span&gt;
  &lt;span class="n"&gt;returns&lt;/span&gt; &lt;span class="n"&gt;boolean&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;h2 id="related-operators"&gt;Related operators&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-and/"&gt;and&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-or/"&gt;or&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-not/"&gt;not&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-nand/"&gt;nand&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="/p/asil/wiki/operators-nor/"&gt;nor&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="../operators-xnor"&gt;xnor&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="../operators-band"&gt;band&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="../operators-bor"&gt;bor&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="../operators-bnot"&gt;bnot&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="../operators-bnand"&gt;bnand&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="../operators-bnor"&gt;bnor&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="../operators-bxor"&gt;bxor&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a class="" href="../operators-bxnor"&gt;bxnor&lt;/a&gt;&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Fri, 21 Feb 2014 09:15:19 -0000</pubDate><guid>https://sourceforge.netec590d5595bd91ceac868ab379854ef6368c3b65</guid></item></channel></rss>