# Native Functions

Native Functions allow to execute custom code directly from the interface or receive customizable events. To provide the necessary information to the tool they must be specified in an XML file and finally be implemented in the Action-Context class used by interface.

# XML Definition

<span lang="EN-US">Native Functions are defined in an XML Schema file which is located at “cgi\_studio\_connector/schema/NativeFunction.xsd”. This file can be used to validate xml files and with some editors (e.g. Visual-Studio) and provide code-completion when writing the XML file.</span>

#### <span lang="EN-US">NativeFunctionDefinition-Element</span>

<span lang="EN-US">Root Element. List of Function types.</span>

**<span lang="EN-US">Attributes:  
</span>**<span lang="EN-US">None</span>

<span lang="EN-US"> </span>**<span lang="EN-US">Children:</span>**

<table border="1" id="bkmrk-argument-occurrence-" style="border-collapse: collapse; width: 67.037%;"><colgroup><col style="width: 23.8004%;"></col><col style="width: 22.5109%;"></col><col style="width: 53.6916%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Occurrence**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>Function</td><td>0 - \*</td><td>A native function definition</td></tr></tbody></table>

#### <span lang="EN-US">Function-Element</span>

<span lang="EN-US">Definition of a native Function.</span><span lang="EN-US"> </span>

**<span lang="EN-US">Attributes:</span>**

<table border="1" id="bkmrk-argument-required-de" style="border-collapse: collapse; width: 91.8519%;"><colgroup><col style="width: 17.6301%;"></col><col style="width: 16.8248%;"></col><col style="width: 65.5451%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Required**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>name</td><td>Yes</td><td>Name of the function.</td></tr><tr><td>uid</td><td>Yes</td><td>Unique Id of function.</td></tr><tr><td>has\_result</td><td>Yes</td><td>Indicates if function has a result. If set, the function needs to return a bool value and can be called for checking events. In this case an event is triggered if the function returns true and all conditions are valid.</td></tr><tr><td>description</td><td>No</td><td>Description of the function.</td></tr></tbody></table>

**<span lang="EN-US">Children:</span>**

<table border="1" id="bkmrk-argument-occurrence--1" style="border-collapse: collapse; width: 67.037%;"><colgroup><col style="width: 23.2472%;"></col><col style="width: 23.0597%;"></col><col style="width: 53.6931%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Occurrence**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>Argument</td><td>0 - \*</td><td>Argument of the function</td></tr></tbody></table>

#### <span lang="EN-US">Argument-Element</span>

<span lang="EN-US">Definition of an argument of the function.</span>

**<span lang="EN-US">Attributes:</span>**

<table border="1" id="bkmrk-argument-required-de-1" style="border-collapse: collapse; width: 91.8519%;"><colgroup><col style="width: 17.6301%;"></col><col style="width: 16.8248%;"></col><col style="width: 65.5451%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Argument**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Required**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>name</td><td>Yes</td><td>Name of the argument.</td></tr><tr><td>uid</td><td>Yes</td><td>Unique Id of argument.</td></tr><tr><td>type</td><td>Yes</td><td>Type of the argument. This can be any basic or complex type if intended to be used for dynamic input/output. For static values any type is supported.</td></tr><tr><td>description</td><td>No</td><td>Description of the argument.</td></tr><tr><td>is\_output</td><td>No</td><td>If set, this argument is passed as a reference with the intend to use it as an output value or in a condition.</td></tr></tbody></table>

**<span lang="EN-US">Children:  
</span>**<span lang="EN-US" style="mso-fareast-font-family: 'Segoe UI';">None</span>

---

# Implementation

<span lang="EN-US">The actual native functions must be implemented as part of the Action-Context class which will then be passed to the Interface to trigger them.</span>

<span lang="EN-US">The implementation must match the name of the specified function in the XML as well as the names, types and order of the arguments. Note that Complex-Types must be passed as const references.</span>

<span lang="EN-US"> </span>

<table cellpadding="0" cellspacing="0" id="bkmrk-%3C%3Fxml-version%3D%221.0%22%3F" width="100%"><tbody><tr><td><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&lt;?</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">xml</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">version</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">1.0</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">?&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&lt;</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">NativeFunctionDefinition</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">xsi:noNamespaceSchemaLocation</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">../../tools/Core/NativeFunction/Schema/NativeFunction.xsd</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">" </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">xmlns:xsi</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">http://www.w3.org/2001/XMLSchema-instance</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">" </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">version</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">1</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Function</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">name</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">FloatTestFunction</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">uid</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">test11</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">has\_result</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">false</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Argument</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">name</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">value</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">type</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">FeatStd::Float</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">uid</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">arg11</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">is\_output</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">false</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">/&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;/</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Function</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Function</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">name</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">StringTestFunction</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">uid</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">test12</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">has\_result</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">false</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Argument</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">name</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">value</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">type</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">FeatStd::String</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">uid</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">arg11</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">is\_output</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">false</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">/&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;/</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Function</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Function</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">name</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">MixedArgumentFunction</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">uid</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">test13</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">has\_result</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">true</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Argument</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">name</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">floatValue</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">type</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">FeatStd::Float</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">uid</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">arg11</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">is\_output</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">false</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">/&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Argument</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">name</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">intValue</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">type</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">FeatStd::Int32</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">uid</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">arg12</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">is\_output</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">false</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">/&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;/</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Function</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Function</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">name</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">EventTestFunction</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">uid</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">test26</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">has\_result</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">true</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Argument</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">name</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">conditionArg</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">type</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">FeatStd::Int32</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">uid</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">arg11</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: red;">is\_output</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">=</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">true</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">"</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">/&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;"><span style="mso-spacerun: yes;"> </span>&lt;/</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">Function</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&gt;</span>

<span lang="EN-US" style="font-size: 9.5pt; line-height: 107%; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&lt;/</span><span lang="EN-US" style="font-size: 9.5pt; line-height: 107%; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #a31515;">NativeFunctionDefinition</span><span lang="EN-US" style="font-size: 9.5pt; line-height: 107%; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">&gt;</span>

</td></tr></tbody></table>

<span lang="EN-US"> </span>

<span lang="EN-US"> </span>

<table cellpadding="0" cellspacing="0" id="bkmrk-namespace-action-%7B-%C2%A0" width="100%"><tbody><tr><td><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">namespace</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> Action {</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">class</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #2b91af;">ActionContext</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"><span style="mso-spacerun: yes;"> </span>{</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">public</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">:</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">...</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: green;">// User Functions</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">void</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> FloatTestFunction(FeatStd::</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #2b91af;">Float</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: gray;">value</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">);</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">void</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> Vector3TestFunction(</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">const</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> Candera::</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #2b91af;">Vector3</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">&amp; </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: gray;">value</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">);</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">void</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> StringTestFunction(</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">const</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> FeatStd::</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #2b91af;">String</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">&amp; </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: gray;">value</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">);</span>

<span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">void</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> MixedArgumentTestFunction(FeatStd::</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #2b91af;">Float</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: gray;">floatValue</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">, FeatStd::</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #2b91af;">Int32</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> </span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: gray;">intValue</span><span lang="EN-US" style="font-size: 9.5pt; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">);</span>

<span lang="EN-US" style="font-size: 9.5pt; line-height: 107%; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"><span style="mso-spacerun: yes;"> </span></span><span lang="EN-US" style="font-size: 9.5pt; line-height: 107%; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: blue;">bool</span><span lang="EN-US" style="font-size: 9.5pt; line-height: 107%; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;"> EventTestFunction(FeatStd::</span><span lang="EN-US" style="font-size: 9.5pt; line-height: 107%; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: #2b91af;">Int32</span><span lang="EN-US" style="font-size: 9.5pt; line-height: 107%; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">&amp; </span><span lang="EN-US" style="font-size: 9.5pt; line-height: 107%; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: gray;">conditionArg</span><span lang="EN-US" style="font-size: 9.5pt; line-height: 107%; font-family: 'Cascadia Mono'; mso-bidi-font-family: 'Cascadia Mono'; color: black;">);</span>

</td></tr></tbody></table>

---

# Editor

<span lang="EN-US">An editor for the Native-Function definition can be found here:  
“</span><span class="DescriptionChar"><span lang="EN-US">cgi\_studio\_connector/bin/NativeFunctionEditor.exe</span></span><span lang="EN-US">”</span>

<span lang="EN-US">If called with a file as first argument the editor will try to open the specified file.</span>

#### <span lang="EN-US">Native-Functions</span>

<div drawio-diagram="6949"><img src="https://doc316en.candera.eu/uploads/images/drawio/2024-10/drawing-7-1728279947.png" alt=""/></div>

On the left side, Native-Functions can be added/removed and reordered using the respective buttons.

**Properties:**

<div drawio-diagram="8311"><img src="https://doc316en.candera.eu/uploads/images/drawio/2025-04/drawing-7-1744610843.png" alt=""/></div>

<table border="1" id="bkmrk-property-name-descri-7" style="border-collapse: collapse; width: 98.0247%;"><colgroup><col style="width: 16.7778%;"></col><col style="width: 83.2222%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Property Name**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>**Name**</td><td>Name of the function. This name must be a valid C/C++ name and must be implemented in the Action-Context.</td></tr><tr><td>**UId**</td><td>The UId is used to identify the native function. It can be seen as the tooltip of the ‘UId’ button. When the button is clicked a new UId will be generated.</td></tr><tr><td>**Description**</td><td>Description of the function.</td></tr><tr><td>**Has Result**</td><td>If enabled, the function must return a bool value. This indicates that the function is used for Function-Call Events. The return value will indicate if the related event has been raised or not.</td></tr></tbody></table>

**Arguments:**

A function can have arguments. Arguments can be added/removed with the respective buttons.

<div drawio-diagram="6951"><img src="https://doc316en.candera.eu/uploads/images/drawio/2024-10/drawing-7-1728280154.png" alt=""/></div>

<table border="1" id="bkmrk-property-name-descri" style="border-collapse: collapse; width: 97.6543%;"><colgroup><col style="width: 16.3934%;"></col><col style="width: 83.6066%;"></col></colgroup><tbody><tr><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Property Name**</span></td><td class="align-center" style="background-color: rgb(230, 126, 35);"><span style="color: rgb(255, 255, 255);">**Description**</span></td></tr><tr><td>**Name**</td><td>Name of argument. This name must be a valid C/C++ identifier.</td></tr><tr><td>**Type**</td><td>Data type of the argument. In principal all types can be used here. However if the argument is used for a dynamic input/output the type must either be a compatible basic FeatStd type or a supported Complex-Type.</td></tr><tr><td>**Is Output**</td><td>Indicates if the argument is used as an output. This can then be used to apply additional conditions when checking for an event.</td></tr><tr><td>**Description**</td><td>Description of the argument.</td></tr></tbody></table>

---