<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
-->
<object xmlns:xi="http://www.w3.org/2001/XInclude" xmlns="urn:xmlliterate.schema" name="@condition">
<description>Abstract class representing a condition to be tested for block
output.</description>
<classname>tgl_condition</classname>
<members>
<booltype name="fail">
<description>True if the condition should fail.</description>
</booltype>
</members>
<methods>
<method name="get_block">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/return_null.xml"/>
</implementations>
</method>
<method name="pass">
<description>This method is called to test if the condition should pass or not.</description>
<inheritance>abstract</inheritance>
<access>public</access>
<returns>
<booltype>
<description>Returns "true" if the condition passes.</description>
</booltype>
</returns>
<arguments>
<ptrtypename name="filedef">
<description>Not sure.</description>
<reftype>tgl_structure_parser</reftype>
</ptrtypename>
<ptrtypename name="obj">
<description>Not sure.</description>
<reftype>@schemaobj</reftype>
</ptrtypename>
<booltype name="first">
<description>If true, then return true only if the first item is true.</description>
</booltype>
<booltype name="last">
<description>If true, then return true only if the last item is true.</description>
</booltype>
</arguments>
</method>
</methods>
<derived>
<object name="isabstract">
<description>Concrete subclass of condition which tests if an object
is abstract or not.</description>
<classname>tgl_isabstract</classname>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/isabstract_pass.xml"/>
</implementations>
</method>
</methods>
</object>
<object name="objecthasmemberequal">
<description>Concrete subclass of condition condition passes if the member
of an object has particular value.</description>
<classname>tgl_objecthasmemberequal</classname>
<members>
<stringtype name="location">
<description>The location of the object relative to the object.
if blank, then the actual object is searched.</description>
</stringtype>
<stringtype name="membername">
<description>The name of the member to query.</description>
</stringtype>
<stringtype name="membervalue">
<description>The value of the member to test.</description>
</stringtype>
</members>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/objecthasmemberequal_pass.xml"/>
</implementations>
</method>
</methods>
</object>
<object name="objecthasany">
<description>Concrete subclass of condition which passes if an objects
member is a composite with some objects in it.</description>
<classname>tgl_objecthasany</classname>
<members>
<stringtype name="membername">
<description>The member (composite) to query.</description>
</stringtype>
<stringtype name="membertype">
<description>test to see if the member's type is one of the above.</description>
</stringtype>
</members>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/objecthasany_pass.xml"/>
</implementations>
</method>
</methods>
</object>
<object name="vectorhasany">
<description>Concrete subclass of condition which passes if any object in the vector
passes the condition passed in. This is the preferred way to do conditions.</description>
<classname>tgl_vectorhasany</classname>
<members>
<stringtype name="vector">
<description>The name of the member which contains a vector of objects.</description>
</stringtype>
<typedobjreftype name="condition">
<description>The condition to pass.</description>
<reftype>@condition</reftype>
</typedobjreftype>
</members>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/vectorhasany_pass.xml"/>
</implementations>
</method>
</methods>
</object>
<object name="isinlist">
<description>Concrete subclass of condition which tests if the member value is in the list or not.</description>
<classname>tgl_isinlist</classname>
<members>
<stringtype name="list">
<description>the list to search in.</description>
</stringtype>
<stringtype name="membername">
<description>The name of the member to query.</description>
</stringtype>
</members>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/isinlist_pass.xml"/>
</implementations>
</method>
</methods>
</object>
<object name="isfirst">
<description>Concrete subclass of condition which tests if the object is first in the list.</description>
<classname>tgl_isfirst</classname>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/isfirst_pass.xml"/>
</implementations>
</method>
</methods>
</object>
<object name="islast">
<description>Concrete subclass of condition which tests if the object is last in the list.</description>
<classname>tgl_islast</classname>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/islast_pass.xml"/>
</implementations>
</method>
</methods>
</object>
<object name="istypenamecomposite">
<description>Concrete subclass of condition which tests if the object is a typename, and
if so is composite.</description>
<classname>tgl_istypenamecomposite</classname>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/istypenamecomposite_pass.xml"/>
</implementations>
</method>
</methods>
</object>
<object name="logical_or">
<description>Concrete subclass of condition which implements a logical or of it's sub-conditions.</description>
<classname>tgl_logical_or</classname>
<members>
<typedobjvectortype name="conditions">
<description>A list of condition objects.</description>
<reftype>@condition</reftype>
</typedobjvectortype>
</members>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/logical_or_pass.xml"/>
</implementations>
</method>
</methods>
</object>
<object name="logical_and">
<description>Concrete subclass of condition which implements a logical and of it's sub-conditions.</description>
<classname>tgl_logical_and</classname>
<members>
<typedobjvectortype name="conditions">
<description>A list of condition objects.</description>
<reftype>@condition</reftype>
</typedobjvectortype>
</members>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/logical_and_pass.xml"/>
</implementations>
</method>
</methods>
</object>
<object name="istypeimplfieldequal">
<description>Concrete subclass of condition which tests a
type implementation field is a particular value.</description>
<classname>tgl_istypeimplfieldequal</classname>
<members>
<stringtype name="language">
<description>The language to search for.</description>
</stringtype>
<stringtype name="field">
<description>The name of the typeimpl field to test.</description>
</stringtype>
<stringtype name="value">
<description>The value to compare.</description>
</stringtype>
</members>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/istypeimplfieldequal_pass.xml"/>
</implementations>
</method>
</methods>
</object>
<object name="blockgreater">
<description>Concrete subclass of condition condition passes if a block
value is greater than a numeric value.</description>
<classname>tgl_blockgreater</classname>
<members>
<stringtype name="block">
<description>The name of the block to test.</description>
</stringtype>
<longtype name="value">
<description>The value to test.</description>
</longtype>
</members>
<methods>
<method name="pass">
<inheritance>override</inheritance>
<implementations>
<xi:include href="cpp/condition/blockgreater_pass.xml"/>
</implementations>
</method>
</methods>
</object>
</derived>
</object>