<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Variants</title><link>https://sourceforge.net/p/asil/wiki/Variants/</link><description>Recent changes to Variants</description><atom:link href="https://sourceforge.net/p/asil/wiki/Variants/feed" rel="self"/><language>en</language><lastBuildDate>Sun, 16 Feb 2014 10:41:19 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/asil/wiki/Variants/feed" rel="self" type="application/rss+xml"/><item><title>Variants modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Variants/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v2
+++ v3
@@ -1,6 +1,7 @@
 Variants in ASIL are based on unions.  (See [Unions] if you need to read up on the syntax for unions.)  Below is the declaration of the Variant type.  Use it as you would any union.

 ~~~~
+:::text
 union Variant.Types - Variant
   @

&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:41:19 -0000</pubDate><guid>https://sourceforge.netc248a4db6ee88af77d1dc061f00b2c6e06bf635a</guid></item><item><title>Variants modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Variants/</link><description>&lt;div class="markdown_content"&gt;&lt;pre&gt;--- v1
+++ v2
@@ -1,91 +1,155 @@
-Variants in ASIL are based on unions.  (See [Unions] if you need to read up on the syntax for unions.)  Below is the declaration of the Variant type.  Use it as you would any union with an internal controlling type.
+Variants in ASIL are based on unions.  (See [Unions] if you need to read up on the syntax for unions.)  Below is the declaration of the Variant type.  Use it as you would any union.

 ~~~~
 union Variant.Types - Variant
+  @
+
   public enum Types
     unknown = -1
     achar
+    achar_null
     astring
     boolean
+    boolean_null
     byte
+    byte_null
     char
+    char_null
     dbyte
+    dbyte_null
     double
+    double_null
     float
+    float_null
     imaginary
+    imaginary_null
     int
+    int_null
     int16
+    int16_null
     int32
+    int32_null
     int64
+    int64_null
     int8
+    int8_null
     object
     obyte
+    obyte_null
     qbyte
+    qbyte_null
     string
     variant ' for a variant holding a variant
     word
+    word_null

   struct = Types.achar
-    public var achar achar
+    public var achar m_achar
+
+  struct = Types.achar_null
+    public var ? achar m_achar_null

   struct = Types.astring
-    public var astring astring
+    public var astring m_astring

   struct = Types.boolean
-    public var boolean boolean
+    public var boolean m_boolean
+
+  struct = Types.boolean_null
+    public var ? boolean m_boolean_null

   struct = Types.byte
-    public var byte byte
+    public var byte m_byte

-  struct = Types.char 
-    public var char char
+  struct = Types.byte_null
+    public var ? byte m_byte_null
+
+  struct = Types.char
+    public var char m_char
+
+  struct = Types.char_null
+    public var ? char m_char_null

   struct = Types.dbyte
-    public var dbyte dbyte
+    public var dbyte m_dbyte
+
+  struct = Types.dbyte_null
+    public var ? dbyte m_dbyte_null

   struct = Types.double
-    public var double double
+    public var double m_double
+
+  struct = Types.double_null
+    public var ? double m_double_null

   struct = Types.float
-    public var float float
+    public var float m_float

-  struct Types.imaginary
-    public var imaginary imaginary
+  struct = Types.float_null
+    public var ? float m_float_null

-  struct Types.int
-    public var int int
+  struct = Types.imaginary
+    public var imaginary m_imaginary

-  struct Types.int16
-    public var int16 int16
+  struct = Types.imaginary_null
+    public var ? imaginary m_imaginary_null

-  struct Types.int32
-    public var int32 int32
+  struct = Types.int
+    public var int m_int

-  struct Types.int64
-    public var int64 int64
+  struct = Types.int_null
+    public var ? int m_int_null

-  struct Types.int8
-    public var int8 int8
+  struct = Types.int16
+    public var int16 m_int16

-  struct Types.object
-    public Object object
+  struct = Types.int16_null
+    public var ? int16 m_int16_null

-  struct Types.obyte
-    public var obyte obyte
+  struct = Types.int32
+    public var int32 m_int32

-  struct Types.qbyte
-    public var qbyte qbyte
+  struct = Types.int32_null
+    public var ? int32 m_int32_null

-  struct Types.string
-    public var String string
+  struct = Types.int64
+    public var int64 m_int64

-  struct Types.variant
-    public var Variant variant
+  struct = Types.int64_null
+    public var ? int64 m_int64_null

-  struct Types.word
-    public var word word
+  struct = Types.int8
+    public var int8 m_int8

-  @
+  struct = Types.int8_null
+    public var ? int8 m_int8_null
+
+  struct = Types.object
+    public Object m_object
+
+  struct = Types.obyte
+    public var obyte m_obyte
+
+  struct = Types.obyte_null
+    public var ? obtye m_obyte_null
+
+  struct = Types.qbyte
+    public var qbyte m_qbyte
+
+  struct = Types.qbyte_null
+    public var ? qbyte m_qbyte_null
+
+  struct = Types.string
+    public var String m_string
+
+  struct = Types.variant
+    public var Variant m_variant
+
+  struct = Types.word
+    public var word m_word
+
+  struct = Types.word_null
+    public var ? word m_word_null

   ~~
 ~~~~
&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 08:44:24 -0000</pubDate><guid>https://sourceforge.nete22e2d67fae10479222a3ae38dda7400c0efa36e</guid></item><item><title>Variants modified by Will Pittenger</title><link>https://sourceforge.net/p/asil/wiki/Variants/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Variants in ASIL are based on unions.  (See &lt;a class="alink" href="/p/asil/wiki/Unions/"&gt;[Unions]&lt;/a&gt; if you need to read up on the syntax for unions.)  Below is the declaration of the Variant type.  Use it as you would any union with an internal controlling type.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span class="k"&gt;union&lt;/span&gt; &lt;span class="n"&gt;Variant&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;Types&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt; &lt;span class="n"&gt;Variant&lt;/span&gt;
  &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="k"&gt;enum&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;
    &lt;span class="n"&gt;unknown&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;
    &lt;span class="n"&gt;achar&lt;/span&gt;
    &lt;span class="n"&gt;astring&lt;/span&gt;
    &lt;span class="n"&gt;boolean&lt;/span&gt;
    &lt;span class="n"&gt;byte&lt;/span&gt;
    &lt;span class="kt"&gt;char&lt;/span&gt;
    &lt;span class="n"&gt;dbyte&lt;/span&gt;
    &lt;span class="kt"&gt;double&lt;/span&gt;
    &lt;span class="kt"&gt;float&lt;/span&gt;
    &lt;span class="n"&gt;imaginary&lt;/span&gt;
    &lt;span class="kt"&gt;int&lt;/span&gt;
    &lt;span class="n"&gt;int16&lt;/span&gt;
    &lt;span class="n"&gt;int32&lt;/span&gt;
    &lt;span class="n"&gt;int64&lt;/span&gt;
    &lt;span class="n"&gt;int8&lt;/span&gt;
    &lt;span class="n"&gt;object&lt;/span&gt;
    &lt;span class="n"&gt;obyte&lt;/span&gt;
    &lt;span class="n"&gt;qbyte&lt;/span&gt;
    &lt;span class="n"&gt;string&lt;/span&gt;
    &lt;span class="n"&gt;variant&lt;/span&gt; &lt;span class="err"&gt;'&lt;/span&gt; &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;variant&lt;/span&gt; &lt;span class="n"&gt;holding&lt;/span&gt; &lt;span class="n"&gt;a&lt;/span&gt; &lt;span class="n"&gt;variant&lt;/span&gt;
    &lt;span class="n"&gt;word&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;achar&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;achar&lt;/span&gt; &lt;span class="n"&gt;achar&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;astring&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;astring&lt;/span&gt; &lt;span class="n"&gt;astring&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;boolean&lt;/span&gt;
    &lt;span class="n"&gt;public&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;boolean&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;byte&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;byte&lt;/span&gt; &lt;span class="n"&gt;byte&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kt"&gt;char&lt;/span&gt; 
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt; &lt;span class="kt"&gt;char&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;dbyte&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;dbyte&lt;/span&gt; &lt;span class="n"&gt;dbyte&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kt"&gt;double&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt; &lt;span class="kt"&gt;double&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kt"&gt;float&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="kt"&gt;float&lt;/span&gt; &lt;span class="kt"&gt;float&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;imaginary&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;imaginary&lt;/span&gt; &lt;span class="n"&gt;imaginary&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="kt"&gt;int&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt; &lt;span class="kt"&gt;int&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;int16&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;int16&lt;/span&gt; &lt;span class="n"&gt;int16&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;int32&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;int32&lt;/span&gt; &lt;span class="n"&gt;int32&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;int64&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;int64&lt;/span&gt; &lt;span class="n"&gt;int64&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;int8&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;int8&lt;/span&gt; &lt;span class="n"&gt;int8&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;object&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;Object&lt;/span&gt; &lt;span class="n"&gt;object&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;obyte&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;obyte&lt;/span&gt; &lt;span class="n"&gt;obyte&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;qbyte&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;qbyte&lt;/span&gt; &lt;span class="n"&gt;qbyte&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;string&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;String&lt;/span&gt; &lt;span class="n"&gt;string&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;variant&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;Variant&lt;/span&gt; &lt;span class="n"&gt;variant&lt;/span&gt;

  &lt;span class="k"&gt;struct&lt;/span&gt; &lt;span class="n"&gt;Types&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="n"&gt;word&lt;/span&gt;
    &lt;span class="n"&gt;public&lt;/span&gt; &lt;span class="n"&gt;var&lt;/span&gt; &lt;span class="n"&gt;word&lt;/span&gt; &lt;span class="n"&gt;word&lt;/span&gt;

  &lt;span class="err"&gt;@&lt;/span&gt;

  &lt;span class="o"&gt;~~&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Will Pittenger</dc:creator><pubDate>Sun, 09 Feb 2014 13:34:10 -0000</pubDate><guid>https://sourceforge.net8c97a2b55d452d7b8a278da356e4c5c29ac2418f</guid></item></channel></rss>