<?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</title><link>https://sourceforge.net/p/asil/wiki/Operators/</link><description>Recent changes to Operators</description><atom:link href="https://sourceforge.net/p/asil/wiki/Operators/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 16 Mar 2014 19:13:53 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/asil/wiki/Operators/feed" rel="self" type="application/rss+xml"/><item><title>Operators modified by Bharath Gaddam</title><link>https://sourceforge.net/p/asil/wiki/Operators/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v30
+++ v31
@@ -5,11 +5,11 @@

 Below is a complete list of all operators and what they do.

-Operator | Type | Description | Orerridable | Sample | Result
+Operator | Type | Description | Overridable | Sample | Result
 ---------|------|-------------|-------------|--------|-------
-**[and](operators-and)** | Binary | Boolean AND operator | ✓ | &lt;code&gt;true and false&lt;/code&gt; | &lt;code&gt;false&lt;/code&gt;
-**[or](operators-or)** | Binary | Boolean OR operator | ✓ | &lt;code&gt;true or false&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
-**[not](operators-not)** | Unary | Boolean NOT operator | ✓ | &lt;code&gt;not false&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
+**[and](operators-and)** | Binary | Boolean AND operator | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;true and false&lt;/code&gt; | &lt;code&gt;false&lt;/code&gt;
+**[or](operators-or)** | Binary | Boolean OR operator | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;true or false&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
+**[not](operators-not)** | Unary | Boolean NOT operator | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;not false&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
 **[nand](operators-nand)** | Binary | Boolean NAND operator&amp;mdash;shortcut for &lt;code&gt;not (a or b)&lt;/code&gt; | | &lt;code&gt;true nand false&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
 **[nor](operators-nor)** | Binary | Boolean NOR operator&amp;mdash;shortcut for &lt;code&gt;not (a and b)&lt;/code&gt; | | &lt;code&gt;false nor true&lt;/code&gt; | &lt;code&gt;false&lt;/code&gt;
 **[xor](operators-xor)** | Binary | Boolean XOR operator&amp;mdash;shortcut for &lt;code&gt;(a and not b) or (not a and b) | | &lt;/code&gt;&lt;code&gt;false xor true&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
@@ -21,13 +21,13 @@
 **[bnor](operators-bnor)** | Binary | Bitwise NOR operator&amp;mdash;shortcut for &lt;code&gt;bnot (a band b)&lt;/code&gt;
 **[bxor](operators-bxor)** | Binary | Bitwise XOR operator&amp;mdash;shortcut for &lt;code&gt;(a band bnot b) bor (bnot a band b)
 **[bxnor](operators-bxnor)** | Binary | Bitwise XNOR operator&amp;mdash;shortcut for &lt;/code&gt;&lt;code&gt;bnot a band bnot b&lt;/code&gt;
-**[+](operators-addition)** | Binary | addition operator | ✓ | &lt;code&gt;3 + 5&lt;/code&gt; | &lt;code&gt;8&lt;/code&gt;
-**[-](operators-minus)** | Binary | subtraction operator | ✓ | &lt;code&gt;3 - 5&lt;/code&gt; | &lt;code&gt;-2&lt;/code&gt;
-**[\*](operators-multiplication)** | Binary | multiplication operator | ✓ | &lt;code&gt;3 * 5&lt;/code&gt; | &lt;code&gt;15&lt;/code&gt;
-**[/](operators-float-division)** | Binary | division operator | ✓ | &lt;code&gt;15 / 3&lt;/code&gt; | &lt;code&gt;5&lt;/code&gt;
+**[+](operators-addition)** | Binary | addition operator | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;3 + 5&lt;/code&gt; | &lt;code&gt;8&lt;/code&gt;
+**[-](operators-minus)** | Binary | subtraction operator |**&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;3 - 5&lt;/code&gt; | &lt;code&gt;-2&lt;/code&gt;
+**[\*](operators-multiplication)** | Binary | multiplication operator | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;3 * 5&lt;/code&gt; | &lt;code&gt;15&lt;/code&gt;
+**[/](operators-float-division)** | Binary | division operator | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;15 / 3&lt;/code&gt; | &lt;code&gt;5&lt;/code&gt;
 **[mod](operators-mod)** | Binary | modulus operator | | &lt;code&gt;5 mod 3&lt;/code&gt; | &lt;code&gt;2&lt;/code&gt;
 **[div](operators-div)** | Binary | integer division operator | | &lt;code&gt;5 div 3&lt;/code&gt; | &lt;code&gt;1&lt;/code&gt;
-**[^](operators-exponential)** | Binary | mathematical exponential operator | ✓ | &lt;code&gt;3 ^ 2&lt;/code&gt; | &lt;code&gt;9&lt;/code&gt;
+**[^](operators-exponential)** | Binary | mathematical exponential operator | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;3 ^ 2&lt;/code&gt; | &lt;code&gt;9&lt;/code&gt;
 **[&amp;](operators-amp)** | Psuedo-unary | When this appears before the name of a procedure or property, returns a delegate instance to that procedure or property
 **[?](operators-can-be-null)** | Type modifier | Turns a primitive (not structs or enums) into one that can be null&amp;mdash;Except for boolean, this may add at least one byte to the storage needed | | &lt;code&gt;var ? int&lt;/code&gt;
 **[()](operators-paren)** | Inner-parameter | Parenthetical operator
@@ -44,15 +44,15 @@
 **[=](operators-equals)** | Binary | Assignment operator&amp;mdash;copies the reference if this is a reference type&amp;mdash;not valid for structs | | &lt;code&gt;a = b&lt;/code&gt;
 **[=](operators-equals)** | Binary | Equality comparison operator&amp;mdash;compares only the reference if this is a reference type&amp;mdash;not valid for structs | | &lt;code&gt;if a = b then&lt;/code&gt;
 **[&lt;code&gt;](operators-inequality)** ( or &gt;&lt;) | Binary | Inequality comparison operator&amp;mdash;compares only the reference if this is a reference type&amp;mdash;not valid for structs | | &lt;/code&gt;&lt;code&gt;if a &lt;/code&gt;&lt;code&gt; b then&lt;/code&gt;
-**[&lt;=](operators-lt-equal)** (or =&lt;) | Binary | Less than or equal comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &lt;= b then&lt;/code&gt;
-**[&lt;](operators-lt)** | Binary | Less than comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &lt; b then&lt;/code&gt;
-**[&gt;=](operators-gt-equal)** (or =&gt;) | Binary | Greater than or equal comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &gt;= b then&lt;/code&gt;
-**[&gt;](operators-gt)** | Binary | Greater than comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &gt; b then&lt;/code&gt;
+**[&lt;=](operators-lt-equal)** (or =&lt;) | Binary | Less than or equal comparison operator&amp;mdash;Undefined by default for non-numeric types | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;if a &lt;= b then&lt;/code&gt;
+**[&lt;](operators-lt)** | Binary | Less than comparison operator&amp;mdash;Undefined by default for non-numeric types | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;if a &lt; b then&lt;/code&gt;
+**[&gt;=](operators-gt-equal)** (or =&gt;) | Binary | Greater than or equal comparison operator&amp;mdash;Undefined by default for non-numeric types | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;if a &gt;= b then&lt;/code&gt;
+**[&gt;](operators-gt)** | Binary | Greater than comparison operator&amp;mdash;Undefined by default for non-numeric types | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;if a &gt; b then&lt;/code&gt;
 **[@](operators-at)** | Psuedo-binary | Base class selector | | &lt;code&gt;base@ClassName&lt;/code&gt;
-**[++](operators-inc)** | Unary | Increment operator | ✓ | &lt;code&gt;x ++&lt;/code&gt;
-**[++](operators-inc)** | Binary | Increment operator | ✓ | &lt;code&gt;x ++ y&lt;/code&gt;
-**[--](operators-dec)** | Unary | Decrement operator | ✓ | &lt;code&gt;x --&lt;/code&gt;
-**[--](operators-dec)** | Binary | Decrement operator | ✓ | &lt;code&gt;x -- y&lt;/code&gt;
+**[++](operators-inc)** | Unary | Increment operator | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;x ++&lt;/code&gt;
+**[++](operators-inc)** | Binary | Increment operator | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;x ++ y&lt;/code&gt;
+**[--](operators-dec)** | Unary | Decrement operator | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;x --&lt;/code&gt;
+**[--](operators-dec)** | Binary | Decrement operator | **&lt;span style="color: green;"&gt;✓&lt;/span&gt;** | &lt;code&gt;x -- y&lt;/code&gt;

 Precedence
 ----------
@@ -65,13 +65,13 @@

 Chaining of comparison operators
 --------------------------------
-ASIL allows comparison operators to be chained as long as the resulting expression forms a range.  So &lt;code&gt;4 &lt; a and a &lt; 8&lt;/code&gt; could be written as &lt;code&gt;4 &lt; a &lt; 8&lt;/code&gt;.  This is meant to be transparent to those overriding these operators.  Below are some samples of situations that can or can't be combined.
+ASIL allows comparison operators to be chained as long as the resulting expression forms a range.  So &lt;code&gt;4 &lt; a and a &lt; 8&lt;/code&gt; could be written as &lt;code&gt;4 &lt; a &lt; 8&lt;/code&gt;.  This is meant to be transparent to those overriding these operators.  Below are some samples of situations that can or can’t be combined.

 ~~~~
 :::text
-a &lt; b and b &lt; c ' Not a range as there aren't any constants
-4 &lt; b and c &gt; 8 ' Not a range as the operators don't "point" in the same direction
-4 &lt; b and b &lt;= 8 ' Valid range as the operators agree so this could be "4 &lt; b &lt; 8"
+a &lt; b and b &lt; c ' Not a range as there aren’t any constants
+4 &lt; b and c &gt; 8 ' Not a range as the operators don’t “point” in the same direction
+4 &lt; b and b &lt;= 8 ' Valid range as the operators agree so this could be “4 &lt; b &lt; 8”
 ~~~~

 You can also chain equality operators as shown below.
@@ -83,13 +83,13 @@

 Multiple assignments in one statement
 -------------------------------------
-Something like &lt;code&gt;a = b = c&lt;/code&gt; will attempt to set &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; to the value of &lt;code&gt;c&lt;/code&gt;.  If you need to force "b = c" to be a comparison, use the syntax provided in the next section.
+Something like &lt;code&gt;a = b = c&lt;/code&gt; will attempt to set &lt;code&gt;a&lt;/code&gt; and &lt;code&gt;b&lt;/code&gt; to the value of &lt;code&gt;c&lt;/code&gt;.  If you need to force “b = c” to be a comparison, use the syntax provided in the next section.

 Forcing ASIL to interpret operators in a select manner
 ------------------------------------------------------
 If ASIL gives you the wrong operator, you can call it with something like &lt;code&gt;*typename*.+ *parameterlist*&lt;/code&gt;.  The code below shows how to set a boolean to the result of a comparison.

-Note: The assignment operator can't be selected this way.  This is deliberate and prevents you from making assignments when you wanted a comparison.
+Note: The assignment operator can’t be selected this way.  This is deliberate and prevents you from making assignments when you wanted a comparison.

 ~~~~
 :::text
@@ -97,7 +97,7 @@
 var boolean b = int.= c%, d% ' correct
 ~~~~

-Some comparison operators can be referenced with either of two "names".  Those are listed in the table below.  The "*type*" part is a placeholder for the real type name.
+Some comparison operators can be referenced with either of two “names”.  Those are listed in the table below.  The “*type*” part is a placeholder for the real type name.

 Name 1 | Name 2
 -------|-------
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Bharath Gaddam</dc:creator><pubDate>Sun, 16 Mar 2014 19:13:53 -0000</pubDate><guid>https://sourceforge.net9d35277961c85c0fa6f049e7e4be24842b596312</guid></item><item><title>Operators modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Operators/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v29
+++ v30
@@ -34,11 +34,11 @@
 **[&amp;#124;&amp;#124;](operators-abs)** | Inner-parameter | Mathematical absolute value operator | | &lt;code&gt;&amp;#124;-5&amp;#124;&lt;/code&gt; | &lt;code&gt;5&lt;/code&gt;
 **[\[\]](operators-brackets)** | Type modifier | Turns a type into an array of the type | | &lt;code&gt;var int\[\] array = new int\[3\]&lt;/code&gt;
 **[\[\]](operators-brackets)** | Inner-parameter | Array indexer | | &lt;code&gt;list\[5\]&lt;/code&gt;
-**[\[\]](operators-brackets)** | Inner-parameter | (when used with **[new](keyword-new)** allocates an array of size X | | &lt;code&gt;new String\[5\]&lt;/code&gt;
+**[\[\]](operators-brackets)** | Inner-parameter | (When used with **[new](keyword-new)**) allocates an array of size X | | &lt;code&gt;new String\[5\]&lt;/code&gt;
 **[{}](operators-braces)** | Type modifier | Turns a type into a set of that type | | &lt;code&gt;var int{} v = new int{} 5, 3, 7, 9&lt;/code&gt;
-**[{}](operators-braces)** | Inner-parameter list | Used to write a set constant | | &lt;code&gt;new int{} 3, 5, 6, 34&lt;/code&gt;&lt;br /&gt;&lt;code&gt;new int{SomeFixedSetInstance} 5, 3, 6, 34&lt;/code&gt;
+**[{}](operators-braces)** | Inner-parameter list | (When used with **[new](keyword-new)**) Used to write a set constant | | &lt;code&gt;new int{} 3, 5, 6, 34&lt;/code&gt;&lt;br /&gt;&lt;code&gt;new int{SomeFixedSetInstance} 5, 3, 6, 34&lt;/code&gt;
 **[{}f](operators-bracesf)** | Type modifier | Turns a type into a fixed set | | &lt;code&gt;var int{}f fixed = new int{}f 3, 5, 9, 34
-**[{}f](operators-bracesf)** | Inner-parameter list | Used to write a set constant that can't have other members&amp;mdash;used to control what can be in normal sets | | &lt;/code&gt;&lt;code&gt;new int{}f 3, 5, 6, 23&lt;/code&gt;
+**[{}f](operators-bracesf)** | Inner-parameter list | (When used with **[new](keyword-new)**) Used to write a set constant that can't have other members&amp;mdash;used to control what can be in normal sets | | &lt;code&gt;new int{}f 3, 5, 6, 23&lt;/code&gt;
 **[.](operators-member-access)** | Psuedo-binary | Used to access the members of a struct or class | | &lt;code&gt;name.member&lt;/code&gt;
 **[,](operators-comma)** | Pseudo-binary | Used to delimit lists when no custom keyword has been specified
 **[=](operators-equals)** | Binary | Assignment operator&amp;mdash;copies the reference if this is a reference type&amp;mdash;not valid for structs | | &lt;code&gt;a = b&lt;/code&gt;
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sun, 23 Feb 2014 12:14:22 -0000</pubDate><guid>https://sourceforge.nete25df1a6ba6381841a05242f30f3b338b85120e9</guid></item><item><title>Operators modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Operators/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v28
+++ v29
@@ -36,7 +36,7 @@
 **[\[\]](operators-brackets)** | Inner-parameter | Array indexer | | &lt;code&gt;list\[5\]&lt;/code&gt;
 **[\[\]](operators-brackets)** | Inner-parameter | (when used with **[new](keyword-new)** allocates an array of size X | | &lt;code&gt;new String\[5\]&lt;/code&gt;
 **[{}](operators-braces)** | Type modifier | Turns a type into a set of that type | | &lt;code&gt;var int{} v = new int{} 5, 3, 7, 9&lt;/code&gt;
-**[{}](operators-braces)** | Inner-parameter list | Used to write a set constant | | &lt;code&gt;new int{} 3, 5, 6, 34&lt;/code&gt;, &lt;code&gt;new int{SomeFixedSetInstance} 5, 3, 6, 34&lt;/code&gt;
+**[{}](operators-braces)** | Inner-parameter list | Used to write a set constant | | &lt;code&gt;new int{} 3, 5, 6, 34&lt;/code&gt;&lt;br /&gt;&lt;code&gt;new int{SomeFixedSetInstance} 5, 3, 6, 34&lt;/code&gt;
 **[{}f](operators-bracesf)** | Type modifier | Turns a type into a fixed set | | &lt;code&gt;var int{}f fixed = new int{}f 3, 5, 9, 34
 **[{}f](operators-bracesf)** | Inner-parameter list | Used to write a set constant that can't have other members&amp;mdash;used to control what can be in normal sets | | &lt;/code&gt;&lt;code&gt;new int{}f 3, 5, 6, 23&lt;/code&gt;
 **[.](operators-member-access)** | Psuedo-binary | Used to access the members of a struct or class | | &lt;code&gt;name.member&lt;/code&gt;
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sun, 23 Feb 2014 12:12:23 -0000</pubDate><guid>https://sourceforge.net3977de98b9f7eea7bad595d93bb82233dc89151a</guid></item><item><title>Operators modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Operators/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v27
+++ v28
@@ -35,7 +35,9 @@
 **[\[\]](operators-brackets)** | Type modifier | Turns a type into an array of the type | | &lt;code&gt;var int\[\] array = new int\[3\]&lt;/code&gt;
 **[\[\]](operators-brackets)** | Inner-parameter | Array indexer | | &lt;code&gt;list\[5\]&lt;/code&gt;
 **[\[\]](operators-brackets)** | Inner-parameter | (when used with **[new](keyword-new)** allocates an array of size X | | &lt;code&gt;new String\[5\]&lt;/code&gt;
-**[{}](operators-braces)** | Inner-parameter list | Used to write a set constant | | &lt;code&gt;new int{} 3, 5, 6, 34&lt;/code&gt;
+**[{}](operators-braces)** | Type modifier | Turns a type into a set of that type | | &lt;code&gt;var int{} v = new int{} 5, 3, 7, 9&lt;/code&gt;
+**[{}](operators-braces)** | Inner-parameter list | Used to write a set constant | | &lt;code&gt;new int{} 3, 5, 6, 34&lt;/code&gt;, &lt;code&gt;new int{SomeFixedSetInstance} 5, 3, 6, 34&lt;/code&gt;
+**[{}f](operators-bracesf)** | Type modifier | Turns a type into a fixed set | | &lt;code&gt;var int{}f fixed = new int{}f 3, 5, 9, 34
 **[{}f](operators-bracesf)** | Inner-parameter list | Used to write a set constant that can't have other members&amp;mdash;used to control what can be in normal sets | | &lt;/code&gt;&lt;code&gt;new int{}f 3, 5, 6, 23&lt;/code&gt;
 **[.](operators-member-access)** | Psuedo-binary | Used to access the members of a struct or class | | &lt;code&gt;name.member&lt;/code&gt;
 **[,](operators-comma)** | Pseudo-binary | Used to delimit lists when no custom keyword has been specified
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sun, 23 Feb 2014 12:11:23 -0000</pubDate><guid>https://sourceforge.net01dfc393586f579d02a68139963cb1c6d38e6b4c</guid></item><item><title>Operators modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Operators/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v26
+++ v27
@@ -35,8 +35,8 @@
 **[\[\]](operators-brackets)** | Type modifier | Turns a type into an array of the type | | &lt;code&gt;var int\[\] array = new int\[3\]&lt;/code&gt;
 **[\[\]](operators-brackets)** | Inner-parameter | Array indexer | | &lt;code&gt;list\[5\]&lt;/code&gt;
 **[\[\]](operators-brackets)** | Inner-parameter | (when used with **[new](keyword-new)** allocates an array of size X | | &lt;code&gt;new String\[5\]&lt;/code&gt;
-**[{}](operators-braces)** | Inner-parameter list | Used to write a set constant | | &lt;code&gt;{3, 5, 6, 34}&lt;/code&gt;
-**[o{}](operators-obraces)** | Inner-parameter list | Used to write a set constant that can't have other members&amp;mdash;used to control what can be in normal sets | | &lt;code&gt;o{3, 5, 6, 23}&lt;/code&gt;
+**[{}](operators-braces)** | Inner-parameter list | Used to write a set constant | | &lt;code&gt;new int{} 3, 5, 6, 34&lt;/code&gt;
+**[{}f](operators-bracesf)** | Inner-parameter list | Used to write a set constant that can't have other members&amp;mdash;used to control what can be in normal sets | | &lt;code&gt;new int{}f 3, 5, 6, 23&lt;/code&gt;
 **[.](operators-member-access)** | Psuedo-binary | Used to access the members of a struct or class | | &lt;code&gt;name.member&lt;/code&gt;
 **[,](operators-comma)** | Pseudo-binary | Used to delimit lists when no custom keyword has been specified
 **[=](operators-equals)** | Binary | Assignment operator&amp;mdash;copies the reference if this is a reference type&amp;mdash;not valid for structs | | &lt;code&gt;a = b&lt;/code&gt;
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sun, 23 Feb 2014 12:02:46 -0000</pubDate><guid>https://sourceforge.netabe6e24f361340646e1c0b772f37c443414500f2</guid></item><item><title>Operators modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Operators/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v25
+++ v26
@@ -32,6 +32,7 @@
 **[?](operators-can-be-null)** | Type modifier | Turns a primitive (not structs or enums) into one that can be null&amp;mdash;Except for boolean, this may add at least one byte to the storage needed | | &lt;code&gt;var ? int&lt;/code&gt;
 **[()](operators-paren)** | Inner-parameter | Parenthetical operator
 **[&amp;#124;&amp;#124;](operators-abs)** | Inner-parameter | Mathematical absolute value operator | | &lt;code&gt;&amp;#124;-5&amp;#124;&lt;/code&gt; | &lt;code&gt;5&lt;/code&gt;
+**[\[\]](operators-brackets)** | Type modifier | Turns a type into an array of the type | | &lt;code&gt;var int\[\] array = new int\[3\]&lt;/code&gt;
 **[\[\]](operators-brackets)** | Inner-parameter | Array indexer | | &lt;code&gt;list\[5\]&lt;/code&gt;
 **[\[\]](operators-brackets)** | Inner-parameter | (when used with **[new](keyword-new)** allocates an array of size X | | &lt;code&gt;new String\[5\]&lt;/code&gt;
 **[{}](operators-braces)** | Inner-parameter list | Used to write a set constant | | &lt;code&gt;{3, 5, 6, 34}&lt;/code&gt;
&lt;/pre&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 10:59:16 -0000</pubDate><guid>https://sourceforge.net3058d2c55901eb5bf63c06ff162dfde2a1eb3cf1</guid></item><item><title>Operators modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Operators/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v24
+++ v25
@@ -29,7 +29,7 @@
 **[div](operators-div)** | Binary | integer division operator | | &lt;code&gt;5 div 3&lt;/code&gt; | &lt;code&gt;1&lt;/code&gt;
 **[^](operators-exponential)** | Binary | mathematical exponential operator | ✓ | &lt;code&gt;3 ^ 2&lt;/code&gt; | &lt;code&gt;9&lt;/code&gt;
 **[&amp;](operators-amp)** | Psuedo-unary | When this appears before the name of a procedure or property, returns a delegate instance to that procedure or property
-**[?](operators-can-be-null)** | Type modifier | Turns a primitive (not structs or enums) into one that can be null&amp;mdash;Except for boolean, this will add at least one byte to the storage needed | | &lt;code&gt;var ? int&lt;/code&gt;
+**[?](operators-can-be-null)** | Type modifier | Turns a primitive (not structs or enums) into one that can be null&amp;mdash;Except for boolean, this may add at least one byte to the storage needed | | &lt;code&gt;var ? int&lt;/code&gt;
 **[()](operators-paren)** | Inner-parameter | Parenthetical operator
 **[&amp;#124;&amp;#124;](operators-abs)** | Inner-parameter | Mathematical absolute value operator | | &lt;code&gt;&amp;#124;-5&amp;#124;&lt;/code&gt; | &lt;code&gt;5&lt;/code&gt;
 **[\[\]](operators-brackets)** | Inner-parameter | Array indexer | | &lt;code&gt;list\[5\]&lt;/code&gt;
&lt;/pre&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 10:05:36 -0000</pubDate><guid>https://sourceforge.nete40c1405bc3e64b1e94ee80e4c36af331ca2bed5</guid></item><item><title>Operators modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Operators/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v23
+++ v24
@@ -45,7 +45,7 @@
 **[&lt;](operators-lt)** | Binary | Less than comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &lt; b then&lt;/code&gt;
 **[&gt;=](operators-gt-equal)** (or =&gt;) | Binary | Greater than or equal comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &gt;= b then&lt;/code&gt;
 **[&gt;](operators-gt)** | Binary | Greater than comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &gt; b then&lt;/code&gt;
-**[@](operators-at)** | Binary | Base class selector | | &lt;code&gt;base@ClassName&lt;/code&gt;
+**[@](operators-at)** | Psuedo-binary | Base class selector | | &lt;code&gt;base@ClassName&lt;/code&gt;
 **[++](operators-inc)** | Unary | Increment operator | ✓ | &lt;code&gt;x ++&lt;/code&gt;
 **[++](operators-inc)** | Binary | Increment operator | ✓ | &lt;code&gt;x ++ y&lt;/code&gt;
 **[--](operators-dec)** | Unary | Decrement operator | ✓ | &lt;code&gt;x --&lt;/code&gt;
&lt;/pre&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 01:46:27 -0000</pubDate><guid>https://sourceforge.netbc8e614c795b8ff170f2f04d8266c7ed14dddb82</guid></item><item><title>Operators modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Operators/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v22
+++ v23
@@ -5,51 +5,51 @@

 Below is a complete list of all operators and what they do.

-Operator | Description | Orerridable | Sample | Result
----------|-------------|-------------|--------|-------
-**[and](operators-and)** | Boolean AND operator | ✓ | &lt;code&gt;true and false&lt;/code&gt; | &lt;code&gt;false&lt;/code&gt;
-**[or](operators-or)** | Boolean OR operator | ✓ | &lt;code&gt;true or false&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
-**[not](operators-not)** | Boolean NOT operator | ✓ | &lt;code&gt;not false&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
-**[nand](operators-nand)** | Boolean NAND operator&amp;mdash;shortcut for &lt;code&gt;not (a or b)&lt;/code&gt; | | &lt;code&gt;true nand false&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
-**[nor](operators-nor)** | Boolean NOR operator&amp;mdash;shortcut for &lt;code&gt;not (a and b)&lt;/code&gt; | | &lt;code&gt;false nor true&lt;/code&gt; | &lt;code&gt;false&lt;/code&gt;
-**[xor](operators-xor)** | Boolean XOR operator&amp;mdash;shortcut for &lt;code&gt;(a and not b) or (not a and b) | | &lt;/code&gt;&lt;code&gt;false xor true&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
-**[xnor](operators-xnor)** | Boolean XNOR operator&amp;mdash;shortcut for &lt;code&gt;not a and not b&lt;/code&gt; | | &lt;code&gt;false xnor true&lt;/code&gt; | &lt;code&gt;false&lt;/code&gt;
-**[band](operators-band)** | Bitwise AND operator
-**[bor](operators-bor)** | Bitwise OR operator
-**[bnot](operators-bnot)** | Bitwise NOT operator
-**[bnand](operators-bnand)** | Bitwise NAND oeprator&amp;mdash;shortcut for &lt;code&gt;not(a bor b)&lt;/code&gt;
-**[bnor](operators-bnor)** | Bitwise NOR operator&amp;mdash;shortcut for &lt;code&gt;bnot (a band b)&lt;/code&gt;
-**[bxor](operators-bxor)** | Bitwise XOR operator&amp;mdash;shortcut for &lt;code&gt;(a band bnot b) bor (bnot a band b)
-**[bxnor](operators-bxnor)** | Bitwise XNOR operator&amp;mdash;shortcut for &lt;/code&gt;&lt;code&gt;bnot a band bnot b&lt;/code&gt;
-**[+](operators-addition)** | addition operator | ✓ | &lt;code&gt;3 + 5&lt;/code&gt; | &lt;code&gt;8&lt;/code&gt;
-**[-](operators-minus)** | subtraction operator | ✓ | &lt;code&gt;3 - 5&lt;/code&gt; | &lt;code&gt;-2&lt;/code&gt;
-**[\*](operators-multiplication)** | multiplication operator | ✓ | &lt;code&gt;3 * 5&lt;/code&gt; | &lt;code&gt;15&lt;/code&gt;
-**[/](operators-float-division)** | division operator | ✓ | &lt;code&gt;15 / 3&lt;/code&gt; | &lt;code&gt;5&lt;/code&gt;
-**[mod](operators-mod)** | modulus operator | | &lt;code&gt;5 mod 3&lt;/code&gt; | &lt;code&gt;2&lt;/code&gt;
-**[div](operators-div)** | integer division operator | | &lt;code&gt;5 div 3&lt;/code&gt; | &lt;code&gt;1&lt;/code&gt;
-**[^](operators-exponential)** | mathematical exponential operator | ✓ | &lt;code&gt;3 ^ 2&lt;/code&gt; | &lt;code&gt;9&lt;/code&gt;
-**[&amp;](operators-amp)** | When this appears before the name of a procedure or property, returns a delegate instance to that procedure or property
-**[?](operators-can-be-null)** | Turns a primitive (not structs or enums) into one that can be null&amp;mdash;Except for boolean, this will add at least one byte to the storage needed | | &lt;code&gt;var ? int&lt;/code&gt;
-**[()](operators-paren)** | Parenthetical operator
-**[&amp;#124;&amp;#124;](operators-abs)** | Mathematical absolute value operator | | &lt;code&gt;&amp;#124;-5&amp;#124;&lt;/code&gt; | &lt;code&gt;5&lt;/code&gt;
-**[\[\]](operators-brackets)** | Array indexer | | &lt;code&gt;list\[5\]&lt;/code&gt;
-**[\[\]](operators-brackets)** | (when used with **[new](keyword-new)** allocates an array of size X | | &lt;code&gt;new String\[5\]&lt;/code&gt;
-**[{}](operators-braces)** | Used to write a set constant | | &lt;code&gt;{3, 5, 6, 34}&lt;/code&gt;
-**[o{}](operators-obraces)** | Used to write a set constant that can't have other members&amp;mdash;used to control what can be in normal sets | | &lt;code&gt;o{3, 5, 6, 23}&lt;/code&gt;
-**[.](operators-member-access)** | Used to access the members of a struct or class | | &lt;code&gt;name.member&lt;/code&gt;
-**[,](operators-comma)** | Used to delimit lists when no custom keyword has been specified
-**[=](operators-equals)** | Assignment operator&amp;mdash;copies the reference if this is a reference type&amp;mdash;not valid for structs | | &lt;code&gt;a = b&lt;/code&gt;
-**[=](operators-equals)** | Equality comparison operator&amp;mdash;compares only the reference if this is a reference type&amp;mdash;not valid for structs | | &lt;code&gt;if a = b then&lt;/code&gt;
-**[&lt;code&gt;](operators-inequality)** ( or &gt;&lt;) | Inequality comparison operator&amp;mdash;compares only the reference if this is a reference type&amp;mdash;not valid for structs | | &lt;/code&gt;&lt;code&gt;if a &lt;/code&gt;&lt;code&gt; b then&lt;/code&gt;
-**[&lt;=](operators-lt-equal)** (or =&lt;) | Less than or equal comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &lt;= b then&lt;/code&gt;
-**[&lt;](operators-lt)** | Less than comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &lt; b then&lt;/code&gt;
-**[&gt;=](operators-gt-equal)** (or =&gt;) | Greater than or equal comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &gt;= b then&lt;/code&gt;
-**[&gt;](operators-gt)** | Greater than comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &gt; b then&lt;/code&gt;
-**[@](operators-at)** | Base class selector | | &lt;code&gt;base@ClassName&lt;/code&gt;
-**[++](operators-inc)** | Unary increment operator | ✓ | &lt;code&gt;x ++&lt;/code&gt;
-**[++](operators-inc)** | Binary increment operator | ✓ | &lt;code&gt;x ++ y&lt;/code&gt;
-**[--](operators-dec)** | Unary decrement operator | ✓ | &lt;code&gt;x --&lt;/code&gt;
-**[--](operators-dec)** | Binary decrement operator | ✓ | &lt;code&gt;x -- y&lt;/code&gt;
+Operator | Type | Description | Orerridable | Sample | Result
+---------|------|-------------|-------------|--------|-------
+**[and](operators-and)** | Binary | Boolean AND operator | ✓ | &lt;code&gt;true and false&lt;/code&gt; | &lt;code&gt;false&lt;/code&gt;
+**[or](operators-or)** | Binary | Boolean OR operator | ✓ | &lt;code&gt;true or false&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
+**[not](operators-not)** | Unary | Boolean NOT operator | ✓ | &lt;code&gt;not false&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
+**[nand](operators-nand)** | Binary | Boolean NAND operator&amp;mdash;shortcut for &lt;code&gt;not (a or b)&lt;/code&gt; | | &lt;code&gt;true nand false&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
+**[nor](operators-nor)** | Binary | Boolean NOR operator&amp;mdash;shortcut for &lt;code&gt;not (a and b)&lt;/code&gt; | | &lt;code&gt;false nor true&lt;/code&gt; | &lt;code&gt;false&lt;/code&gt;
+**[xor](operators-xor)** | Binary | Boolean XOR operator&amp;mdash;shortcut for &lt;code&gt;(a and not b) or (not a and b) | | &lt;/code&gt;&lt;code&gt;false xor true&lt;/code&gt; | &lt;code&gt;true&lt;/code&gt;
+**[xnor](operators-xnor)** | Binary | Boolean XNOR operator&amp;mdash;shortcut for &lt;code&gt;not a and not b&lt;/code&gt; | | &lt;code&gt;false xnor true&lt;/code&gt; | &lt;code&gt;false&lt;/code&gt;
+**[band](operators-band)** | Binary | Bitwise AND operator
+**[bor](operators-bor)** | Binary | Bitwise OR operator
+**[bnot](operators-bnot)** | Unary | Bitwise NOT operator
+**[bnand](operators-bnand)** | Binary | Bitwise NAND oeprator&amp;mdash;shortcut for &lt;code&gt;not(a bor b)&lt;/code&gt;
+**[bnor](operators-bnor)** | Binary | Bitwise NOR operator&amp;mdash;shortcut for &lt;code&gt;bnot (a band b)&lt;/code&gt;
+**[bxor](operators-bxor)** | Binary | Bitwise XOR operator&amp;mdash;shortcut for &lt;code&gt;(a band bnot b) bor (bnot a band b)
+**[bxnor](operators-bxnor)** | Binary | Bitwise XNOR operator&amp;mdash;shortcut for &lt;/code&gt;&lt;code&gt;bnot a band bnot b&lt;/code&gt;
+**[+](operators-addition)** | Binary | addition operator | ✓ | &lt;code&gt;3 + 5&lt;/code&gt; | &lt;code&gt;8&lt;/code&gt;
+**[-](operators-minus)** | Binary | subtraction operator | ✓ | &lt;code&gt;3 - 5&lt;/code&gt; | &lt;code&gt;-2&lt;/code&gt;
+**[\*](operators-multiplication)** | Binary | multiplication operator | ✓ | &lt;code&gt;3 * 5&lt;/code&gt; | &lt;code&gt;15&lt;/code&gt;
+**[/](operators-float-division)** | Binary | division operator | ✓ | &lt;code&gt;15 / 3&lt;/code&gt; | &lt;code&gt;5&lt;/code&gt;
+**[mod](operators-mod)** | Binary | modulus operator | | &lt;code&gt;5 mod 3&lt;/code&gt; | &lt;code&gt;2&lt;/code&gt;
+**[div](operators-div)** | Binary | integer division operator | | &lt;code&gt;5 div 3&lt;/code&gt; | &lt;code&gt;1&lt;/code&gt;
+**[^](operators-exponential)** | Binary | mathematical exponential operator | ✓ | &lt;code&gt;3 ^ 2&lt;/code&gt; | &lt;code&gt;9&lt;/code&gt;
+**[&amp;](operators-amp)** | Psuedo-unary | When this appears before the name of a procedure or property, returns a delegate instance to that procedure or property
+**[?](operators-can-be-null)** | Type modifier | Turns a primitive (not structs or enums) into one that can be null&amp;mdash;Except for boolean, this will add at least one byte to the storage needed | | &lt;code&gt;var ? int&lt;/code&gt;
+**[()](operators-paren)** | Inner-parameter | Parenthetical operator
+**[&amp;#124;&amp;#124;](operators-abs)** | Inner-parameter | Mathematical absolute value operator | | &lt;code&gt;&amp;#124;-5&amp;#124;&lt;/code&gt; | &lt;code&gt;5&lt;/code&gt;
+**[\[\]](operators-brackets)** | Inner-parameter | Array indexer | | &lt;code&gt;list\[5\]&lt;/code&gt;
+**[\[\]](operators-brackets)** | Inner-parameter | (when used with **[new](keyword-new)** allocates an array of size X | | &lt;code&gt;new String\[5\]&lt;/code&gt;
+**[{}](operators-braces)** | Inner-parameter list | Used to write a set constant | | &lt;code&gt;{3, 5, 6, 34}&lt;/code&gt;
+**[o{}](operators-obraces)** | Inner-parameter list | Used to write a set constant that can't have other members&amp;mdash;used to control what can be in normal sets | | &lt;code&gt;o{3, 5, 6, 23}&lt;/code&gt;
+**[.](operators-member-access)** | Psuedo-binary | Used to access the members of a struct or class | | &lt;code&gt;name.member&lt;/code&gt;
+**[,](operators-comma)** | Pseudo-binary | Used to delimit lists when no custom keyword has been specified
+**[=](operators-equals)** | Binary | Assignment operator&amp;mdash;copies the reference if this is a reference type&amp;mdash;not valid for structs | | &lt;code&gt;a = b&lt;/code&gt;
+**[=](operators-equals)** | Binary | Equality comparison operator&amp;mdash;compares only the reference if this is a reference type&amp;mdash;not valid for structs | | &lt;code&gt;if a = b then&lt;/code&gt;
+**[&lt;code&gt;](operators-inequality)** ( or &gt;&lt;) | Binary | Inequality comparison operator&amp;mdash;compares only the reference if this is a reference type&amp;mdash;not valid for structs | | &lt;/code&gt;&lt;code&gt;if a &lt;/code&gt;&lt;code&gt; b then&lt;/code&gt;
+**[&lt;=](operators-lt-equal)** (or =&lt;) | Binary | Less than or equal comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &lt;= b then&lt;/code&gt;
+**[&lt;](operators-lt)** | Binary | Less than comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &lt; b then&lt;/code&gt;
+**[&gt;=](operators-gt-equal)** (or =&gt;) | Binary | Greater than or equal comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &gt;= b then&lt;/code&gt;
+**[&gt;](operators-gt)** | Binary | Greater than comparison operator&amp;mdash;Undefined by default for non-numeric types | ✓ | &lt;code&gt;if a &gt; b then&lt;/code&gt;
+**[@](operators-at)** | Binary | Base class selector | | &lt;code&gt;base@ClassName&lt;/code&gt;
+**[++](operators-inc)** | Unary | Increment operator | ✓ | &lt;code&gt;x ++&lt;/code&gt;
+**[++](operators-inc)** | Binary | Increment operator | ✓ | &lt;code&gt;x ++ y&lt;/code&gt;
+**[--](operators-dec)** | Unary | Decrement operator | ✓ | &lt;code&gt;x --&lt;/code&gt;
+**[--](operators-dec)** | Binary | Decrement operator | ✓ | &lt;code&gt;x -- y&lt;/code&gt;

 Precedence
 ----------
&lt;/pre&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 00:51:15 -0000</pubDate><guid>https://sourceforge.net10b5c608fca53600b732c772bf7e1c5437a2c14a</guid></item><item><title>Operators modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Operators/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v21
+++ v22
@@ -56,6 +56,7 @@
 This lists all operators in order of precedence, starting with the highest precedence operators:

 ~~~~
+:::text
 , o{} {} [] () and or xor xnor nand nor * / + - &amp; = ++ -- &lt;/pre&gt;&lt;pre&gt; &gt;&lt; &lt;= =&lt; &lt; &gt;= =&gt; &gt; band bor bxor bxnor bnand bnor not bnot @
 ~~~~

@@ -64,6 +65,7 @@
 ASIL allows comparison operators to be chained as long as the resulting expression forms a range.  So &lt;code&gt;4 &lt; a and a &lt; 8&lt;/code&gt; could be written as &lt;code&gt;4 &lt; a &lt; 8&lt;/code&gt;.  This is meant to be transparent to those overriding these operators.  Below are some samples of situations that can or can't be combined.

 ~~~~
+:::text
 a &lt; b and b &lt; c ' Not a range as there aren't any constants
 4 &lt; b and c &gt; 8 ' Not a range as the operators don't "point" in the same direction
 4 &lt; b and b &lt;= 8 ' Valid range as the operators agree so this could be "4 &lt; b &lt; 8"
@@ -72,6 +74,7 @@
 You can also chain equality operators as shown below.

 ~~~~
+:::text
 (a = b = c) = (a = b and a = c) ' This will always be true
 ~~~~

@@ -86,6 +89,7 @@
 Note: The assignment operator can't be selected this way.  This is deliberate and prevents you from making assignments when you wanted a comparison.

 ~~~~
+:::text
 var boolean b = c% = d% ' wrong
 var boolean b = int.= c%, d% ' correct
 ~~~~
&lt;/pre&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sun, 16 Feb 2014 10:35:10 -0000</pubDate><guid>https://sourceforge.net0afeef53348b9d62c5a9167c68ef901968fceb48</guid></item></channel></rss>