Files
win8phoneApp/Doc/atominnerSettings/Rules.xml
2013-10-14 11:52:40 +02:00

3907 lines
164 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<Rules version="20130925">
<!--
Atomineer Pro Documentation Rules
=================================
This Xml file provides the default rules for the output that Atomineer generates.
These rules are documented here:
http://www.atomineerutils.com/rulesguide.php
-->
<UserVariables>
<!--
Set any desired user %variables% in this section. These can be output in description text or used
in subsequent variable definitions using the %varName% syntax.
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
-->
<Variable name="company" ifSet="false" value="BTU/IIT"/>
<Variable name="copyright" ifSet="false" value="The MIT License (MIT). Copyright (c) %year% %company%."/>
<Variable name="useremail" ifSet="false" value="%user%@iit.tu-cottbus.de"/>
<!--
Special variables
For language translations, or simply to adjust the output of Atomineer, fill in the
following variables (and check the rules that use them below):
-->
<Variable name="property-getonly" ifSet="false" value="Gets"/>
<Variable name="property-setonly" ifSet="false" value="Sets"/>
<Variable name="property-getset" ifSet="false" value="Gets or sets"/>
<Variable name="indexer-getonly" ifSet="false" value="get"/>
<Variable name="indexer-setonly" ifSet="false" value="set"/>
<Variable name="indexer-getset" ifSet="false" value="get or set"/>
<Variable name="param-optional" ifSet="false" value="(Optional)"/>
<!--
Options that control the output of the rules
The options below are:
stylecop - set to true to change Atomineer outputs to be StyleCop-compliant.
docPrimaryBaseWithSee - set to true to document the primary base class (only) as a
<see cref="Fully.Qualified.BaseClass"/> ref (...where possible)
docBasesWithSee - set to true to document ALL base classes and/or interfaces as
<see cref="Fully.Qualified.BaseClass"/> refs (...where possible)
docOverridesWithSee - set to true to document overrides (where possible) as
<see cref="Fully.Qualified.OverrideName(Params)"/> instead of copying base-class
documentation or generating auto-doc text.
(Note that you also need to disable duplication of base documentation in the
preferences to allow these rules to be applied for overrides).
-->
<Variable name="stylecop" ifSet="false" value="false"/>
<Variable name="docBasesWithSee" ifSet="false" value="false"/>
<Variable name="docPrimaryBaseWithSee" ifSet="false" value="false"/>
<Variable name="docOverridesWithSee" ifSet="false" value="false"/>
</UserVariables>
<!-- ======================================================================================= -->
<!-- TEMPLATES
Templates for controlling the layout and ordering of comment blocks.
There are sections below for Documentation XML, Doxygen, and NaturalDoc comments respectively
-->
<DocXmlTemplates>
<!--
Templates for Documentation Xml Comment blocks
==============================================
These control which entries are added to the doc-comment for each type of code element,
and their order.
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
-->
<!-- StyleCop-compatible Xml-based file header.
Note that this uses &lt; and &gt; so that it will be treated as plain text rather than XML
-->
<file stylecop="true">
//-----------------------------------------------------------------------
// &lt;copyright file="%leafname%%extension%" company="BTU/IIT"&gt;
// %copyright%
// &lt;/copyright&gt;
// &lt;author&gt;%user%&lt;/author&gt;
// &lt;date&gt;%date%&lt;/date&gt;
// &lt;summary&gt;%fileDescription%&lt;/summary&gt;
//-----------------------------------------------------------------------
</file>
<!-- Catch-all plain-text Atomineer headers. See below for other examples -->
<file>
// file: %projectpathname%
//
// summary: %fileDescription%
</file>
<file-vb _separators="false">
'---------------------------------------------------------------------------------------------------
' file: %projectpathname%
'
' summary: %fileDescription%
'---------------------------------------------------------------------------------------------------
</file-vb>
<!-- Special header and footer pair for .h and .hpp files, which will automatically add an
include-once mechanism to the file.
<file _filetypes=".h.hpp" _addfooter="true" _separators="false">
// file: %projectpathname%
//
// summary: %fileDescription%
#ifndef INC_%leafname%_H
#define INC_%leafname%_H
</file>
<filefooter filetypes=".h.hpp" _separators="false">
// end of %projectpathname%
#endif // INC_%leafname%_H
</filefooter>
-->
<!-- Free-form text file header example
<file>
// project: %project%
// file: %projectpathname%
//
// summary: %fileDescription%
//
// %copyright%
//
// Date Developer Change
// %date% %user% Created
</file>
-->
<!-- XML comment example
<file>
<prototype>%projectpathname%</prototype>
<_/>
<summary/>
</file>
-->
<!-- Catch-all plain-text file footers. These follow the same form as the file headers above -->
<filefooter>
// End of %projectpathname%
</filefooter>
<filefooter-vb _separators="false">
'---------------------------------------------------------------------------------------------------
' End of %projectpathname%
</filefooter-vb>
<!--
Comment template for catch-all comments. These are added when the filetype of the document
is not one of the core languages that Atomineer can parse to auto-document. The separators
and line headers used for each file extension (e.g. .html, .sql) are configured in your
Prefs.xml, allowing AtomineerUtils to correctly insert simple "boilerplate" comments into
any file format.
-->
<catchall>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
</catchall>
<!--
Default namespace comment. As with file comments, you can use plain-text or XML commenting for
this entry.
-->
<namespace>
// namespace: %name%
//
// summary: %namespaceDescription%
</namespace>
<!-- Example XML namespace comment.
<namespace>
<prototype/>
<_/>
<summary/>
</namespace>
-->
<typedef>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</typedef>
<enum>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</enum>
<bitfield>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</bitfield>
<struct>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<param/>
<_/>
<example _punctuate="false" _optional="true"/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</struct>
<union>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<example _punctuate="false" _optional="true"/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</union>
<class>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<param/>
<_/>
<example _punctuate="false" _optional="true"/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</class>
<interface>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<param/>
<_/>
<example _punctuate="false" _optional="true"/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</interface>
<def> <!-- C/C++ #define macro -->
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<param/>
<_/>
<example _punctuate="false" _optional="true"/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</def>
<method>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<example _punctuate="false" _optional="true"/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</method>
<property>
<summary/>
<_/>
<remarks _optional="true"/>
<_/>
<value/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</property>
<indexer>
<summary/>
<_/>
<remarks _optional="true"/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</indexer>
<delegate>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</delegate>
<constructor>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<exception/>
<_/>
<param/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</constructor>
<destructor>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<exception/>
<_/>
<param/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</destructor>
<finaliser>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<exception/>
<_/>
<param/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</finaliser>
<operator>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</operator>
<eventhandler>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</eventhandler>
<eventsender>
<summary/>
<_/>
<remarks>%user%, %date%</remarks>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</eventsender>
<!-- Template for member variables -->
<member>
<summary/>
<_/>
<inheritdoc _punctuate="false" _optional="true"/>
</member>
<!-- Templates for methods in abstract classes and interfaces -->
<interfacemethod>
<summary/>
<_/>
<remarks _optional="true"/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<example _punctuate="false" _optional="true"/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</interfacemethod>
<interfaceproperty>
<summary/>
<_/>
<remarks _optional="true"/>
<_/>
<value/>
<_/>
<example _punctuate="false" _optional="true"/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</interfaceproperty>
<interfaceindexer>
<summary/>
<_/>
<remarks _optional="true"/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<example _punctuate="false" _optional="true"/>
<_/>
<seealso _punctuate="false" _optional="true"/>
<inheritdoc _punctuate="false" _optional="true"/>
</interfaceindexer>
</DocXmlTemplates>
<!-- ====================================================================================== -->
<DoxygenTemplates>
<!--
Templates for Doxygen/JavaDoc/Qt Comment blocks
===============================================
These control which entries are added to the doc-comment for each type of code element,
and their order.
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
-->
<!-- Special header and footer pair for .h and .hpp files, which will automatically add an
include-once mechanism to the file.
<file _filetypes=".h.hpp" _addfooter="true" _separators="false">
// file: %projectpathname%
//
// summary: %fileDescription%
#ifndef INC_%leafname%_H
#define INC_%leafname%_H
</file>
<filefooter filetypes=".h.hpp" _separators="false">
// end of %projectpathname%
#endif // INC_%leafname%_H
</filefooter>
-->
<file>
<prototype _punctuate="false">%projectpathname%</prototype>
<_/>
<summary/>
</file>
<file-vb _separators="false">
<prototype _punctuate="false">%projectpathname%</prototype>
<_/>
<summary/>
</file-vb>
<!-- Free-form text example
<file>
// project: %project%
// file: %projectpathname%
//
// summary: %fileDescription%
//
// %copyright%
//
// Date Developer Change
// %date% %user% Created
</file>
-->
<!-- Default plain-text Atomineer file footer. These follow the same form as the file headers above -->
<filefooter>
// End of %projectpathname%
</filefooter>
<filefooter-vb _separators="false">
'---------------------------------------------------------------------------------------------------
' End of %projectpathname%
</filefooter-vb>
<!--
Comment template for catch-all comments. These are added when the filetype of the document
is not one of the core languages that Atomineer can parse to auto-document. The separators
and line headers used for each file extension (e.g. .html, .sql) are configured in your
Prefs.xml, allowing Atomineer to correctly insert simple "boilerplate" comments into any
file format.
-->
<catchall>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<sa _punctuate="false" _optional="true"/>
</catchall>
<!--
Default namespace comment. As with file comments, you can use plain-text or XML commenting for
this entry.
-->
<namespace>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<sa _punctuate="false" _optional="true"/>
</namespace>
<typedef>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<sa _punctuate="false" _optional="true"/>
</typedef>
<enum>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<sa _punctuate="false" _optional="true"/>
</enum>
<bitfield>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<sa _punctuate="false" _optional="true"/>
</bitfield>
<struct>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</struct>
<union>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<sa _punctuate="false" _optional="true"/>
</union>
<class>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</class>
<interface>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</interface>
<def> <!-- C/C++ #define macro -->
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</def>
<method>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</method>
<property>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<value/>
<_/>
<sa _punctuate="false" _optional="true"/>
</property>
<indexer>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</indexer>
<delegate>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</delegate>
<constructor>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</constructor>
<destructor>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</destructor>
<finaliser>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</finaliser>
<operator>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</operator>
<eventhandler>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</eventhandler>
<eventsender>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</eventsender>
<member>
<summary/>
</member>
<!-- Templates for methods in abstract classes and interfaces -->
<interfacemethod>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</interfacemethod>
<interfaceproperty>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<value/>
<_/>
<sa _punctuate="false" _optional="true"/>
</interfaceproperty>
<interfaceindexer>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</interfaceindexer>
</DoxygenTemplates>
<!-- ====================================================================================== -->
<NaturalTemplates>
<!--
Templates for NaturalDoc Comment blocks
=======================================
These control which entries are added to the doc-comment for each type of code element,
and their order.
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
-->
<!-- Aliases for the main entry tags.
For entries where Atomineer generates auto-documentation, this needs to match
the internal name used by Atomineer. For custom entries this can just be the
name of that entry.
The _tag attribute is the entry tag that will be used in the updated comment. (If not
specified, the element's main tag wil be used).
The _aliases attribute is a comma-separated list of acceptable substitutes for
the entry - these will be read by Atomineer and converted to the _tag when
updating the comment.
-->
<aliases>
<summary _tag="summary" _aliases="brief,desc,description,details,purpose"/>
<exception _tag="exceptions" _aliases="except,excepts,exceptions"/>
<param _tag="parameters" _aliases="params,parameter,parameters"/>
<typeparam _tag="tparams" _aliases="tparam,tparams,typeparams"/>
<returns/>
</aliases>
<!-- Special header and footer pair for .h and .hpp files, which will automatically add an
include-once mechanism to the file.
<file _filetypes=".h.hpp" _addfooter="true" _separators="false">
// file: %projectpathname%
//
// summary: %fileDescription%
#ifndef INC_%leafname%_H
#define INC_%leafname%_H
</file>
<filefooter filetypes=".h.hpp" _separators="false">
// end of %projectpathname%
#endif // INC_%leafname%_H
</filefooter>
-->
<file>
<prototype _punctuate="false">%projectpathname%</prototype>
<_/>
<summary/>
</file>
<file-vb _separators="false">
<prototype _punctuate="false">%projectpathname%</prototype>
<_/>
<summary/>
</file-vb>
<!-- Free-form text example
<file>
// project: %project%
// file: %projectpathname%
//
// summary: %fileDescription%
//
// %copyright%
//
// Date Developer Change
// %date% %user% Created
</file>
-->
<!-- Default plain-text Atomineer file footer. These follow the same form as the file headers above -->
<filefooter>
// End of %projectpathname%
</filefooter>
<filefooter-vb _separators="false">
'---------------------------------------------------------------------------------------------------
' End of %projectpathname%
</filefooter-vb>
<!--
Comment template for catch-all comments. These are added when the filetype of the document
is not one of the core languages that Atomineer can parse to auto-document. The separators
and line headers used for each file extension (e.g. .html, .sql) are configured in your
Prefs.xml, allowing Atomineer to correctly insert simple "boilerplate" comments into any
file format.
-->
<catchall>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<sa _punctuate="false" _optional="true"/>
</catchall>
<!--
Default namespace comment. As with file comments, you can use plain-text or XML commenting for
this entry.
-->
<namespace>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<sa _punctuate="false" _optional="true"/>
</namespace>
<typedef>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<sa _punctuate="false" _optional="true"/>
</typedef>
<enum>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<sa _punctuate="false" _optional="true"/>
</enum>
<bitfield>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<sa _punctuate="false" _optional="true"/>
</bitfield>
<struct>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<sa _punctuate="false" _optional="true"/>
</struct>
<union>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<sa _punctuate="false" _optional="true"/>
</union>
<class>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</class>
<interface>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</interface>
<def> <!-- C/C++ #define macro -->
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</def>
<method>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</method>
<property>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<value/>
<_/>
<sa _punctuate="false" _optional="true"/>
</property>
<indexer>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</indexer>
<delegate>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</delegate>
<constructor>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</constructor>
<destructor>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</destructor>
<finaliser>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<sa _punctuate="false" _optional="true"/>
</finaliser>
<operator>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</operator>
<eventhandler>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</eventhandler>
<eventsender>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<author _punctuate="false">%user%</author>
<_/>
<date _punctuate="false">%date%</date>
<_/>
<exception/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</eventsender>
<member>
<summary/>
</member>
<!-- Templates for methods in abstract classes and interfaces -->
<interfacemethod>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</interfacemethod>
<interfaceproperty>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<value/>
<_/>
<sa _punctuate="false" _optional="true"/>
</interfaceproperty>
<interfaceindexer>
<prototype _punctuate="false"/>
<_/>
<summary/>
<_/>
<param/>
<_/>
<returns/>
<_/>
<sa _punctuate="false" _optional="true"/>
</interfaceindexer>
</NaturalTemplates>
<!-- ====================================================================================== -->
<AutoDoc>
<!--
AutoDoc rules
=============
For each documentation entry that needs to be generated, Atomineer executes an appropriate
section of the rules in this AutoDoc section (e.g. for a parameter, the <Parameters> section
is executed). Execution stops when a match is found and a documentation result is returned.
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
-->
<CatchAll>
<!-- Rules for generating auto-documentation for 'catch all' comments. The results of
executing this rule are used when adding comments to file-types that Atomineer
does not have any dedicated parsing support for.
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
-->
<Set desc=""/>
</CatchAll>
<File>
<!-- Rules for generating auto-documentation text describing a file. The results of
executing this rule are placed in %fileDescription% when adding file-header
comments.
NOTE - If you wish to change the layout and content of file headers themselves,
then you need to edit the 'Block Templates (DocXML)' or 'Block Templates (Doxygen)'
rather than this file.
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
-->
<If extension=".c" desc=""/>
<If sNameRaw="I #" desc="Declares the %name% interface"/>
<If extension=".h,.hpp" continue="y" desc="Declares the "/>
<If extension=".cs,.cpp,.java" continue="y" desc="Implements the "/>
<If sName="# dialog,# dialogue" desc="%match:noPrefix:LCase% Dialog"/>
<If sName="# form,# window" desc="%match:noPrefix:LCase% Windows Form"/>
<Set desc="%sname:noPrefix:LCase% class"/>
</File>
<Namespace>
<!-- Rules for generating auto-documentation for namespace comments. The results of
executing this rule are placed in %namespaceDescription% when adding file comments.
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
-->
</Namespace>
<Exceptions prefix="Thrown when " suffix=".">
<!-- Rules for auto-documentation of exception types
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
-->
<If name="ArgumentNullException,EArgumentNull" desc="one or more required arguments are null"/>
<If name="ArgumentOutOfRangeException,EArgumentOutOfRange" desc="one or more arguments are outside the required range"/>
<If name="ArgumentException,EArgument" desc="one or more arguments have unsupported or illegal values"/>
<If name="ArithmeticException,EArithmetic" desc="an error occurs in an arithmetic, casting or conversion operation"/>
<If name="DivideByZeroException,EDivideByZero" desc="an attempt is made to divide a number by zero"/>
<If name="OverflowException,EOverflow" desc="an arithmetic overflow occurs"/>
<If name="ArrayTypeMismatchException,EArrayTypeMismatch" desc="an attempt is made to store an object of the wrong type in the array"/>
<If name="FormatException,EFormat" desc="the format of the ? is incorrect"/>
<If name="IndexOutOfRangeException,EIndexOutOfRange" desc="the index is outside the required range"/>
<If name="InvalidCastException,EInvalidCast" desc="an object cannot be cast to a required type"/>
<If name="InvalidOperationException,EInvalidOperation" desc="the requested operation is invalid"/>
<If name="ObjectDisposedException,EObjectDisposed" desc="a supplied object has been disposed"/>
<If name="IOException" desc="an IO failure occurred"/>
<If name="DirectoryNotFoundException,EDirectoryNotFound" desc="the requested directory is not present"/>
<If name="NotFoundException,ENotFound" desc="the requested element is not present"/>
<If name="EndOfStreamException,EEndOfStream" desc="the end of the stream was unexpectedly reached"/>
<If name="FileNotFoundException,EFileNotFound" desc="the requested file is not present"/>
<If name="PathTooLongException,EPathTooLong" desc="the file/folder path is too long"/>
<If name="NotImplementedException,ENotImplemented" desc="the requested operation is unimplemented"/>
<If name="NotSupportedException,ENotSupported" desc="the requested operation is not supported"/>
<If name="NotInitializedException,ENotInitialized" desc="a value was unexpectedly uninitialized"/>
<If name="NullReferenceException,ENullReference" desc="a value was unexpectedly null"/>
<If name="OutOfMemoryException,EOutOfMemory" desc="a low memory situation occurs"/>
<If name="SecurityException,ESecurity" desc="a security violation occurs"/>
<If name="VerificationException,EVerification" desc="a security verification failure occurs"/>
<If name="StackOverflowException,EStackOverflow" desc="a stack overflow occurs"/>
<If name="SqlException,ESql" desc="an error is generated by the SQL server"/>
<If name="BadImageFormatException,EBadImageFormat" desc="the file image of a dll or exe is invalid"/>
<If name="COMException" desc="an unrecognised HRESULT is returned from a COM method call"/>
<If name="AccessViolationException,EAccessViolation" desc="an attempt was made to read or write unallocated or protected memory"/>
<If name="OperationFailedException,EOperationFailed" desc="operation failed to execute"/>
<If name="OutOfRangeException,EOutOfRange" desc="one or more elements are outside the required range"/>
<!-- Throwing basic data types (C++) -->
<If name="int,long,float,double,char" desc="an error condition occurs"/>
<!-- Catch-alls. Just converts the element name into a sentence format, stripping an 'Exception' prefix/suffix -->
<If name="#Exception" desc="a %match:Sentence% error condition occurs"/>
<If name="Exception#" desc="a %match:Sentence% error condition occurs"/>
<Set desc="a %sname% error condition occurs"/>
</Exceptions>
<Typedefs prefix="Defines an alias representing ">
<!-- Rules used for typedefs
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
Additional values that can be used for filtering/documenting include:
name The name of the parameter
sName The name of the parameter, converted to sentence (space separated words) format, with abbreviated words expanded
type The type of the parameter (const int*)
typeBase The type of the parameter, not including any modifiers (int)
index The 1-based index of the parameter within the method's parameter list
word1 The first word of the parameter (often used for prefixes, e.g. m_, lpsz, etc)
coreName The name with the first word removed (to allow processing of prefixed names)
isPointer "y" or "n", indicating if the parameter type includes a "*" or "^"
isReference "y" or "n", indicating if the parameter type includes an "&" or "ref"
-->
<Execute rules="Variables"/> <!-- Execute the Variable documenting rules -->
</Typedefs>
<Variables>
<!-- Rules used for variables
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
Additional values that can be used for filtering/documenting include:
name The name of the parameter
namenp The name of the parameter, with known prefixes removed
sName The name of the parameter, converted to sentence (space separated words) format, with abbreviated words expanded
type The type of the parameter (const int*). For enum members, the type "enum" is used.
typeBase The type of the parameter, not including any modifiers (int)
index The 1-based index of the parameter within the method's parameter list
word1 The first word of the parameter (often used for prefixes, e.g. m_, lpsz, etc)
coreName The name with the first word removed (to allow processing of prefixed names)
isPointer "y" or "n", indicating if the parameter type includes a "*" or "^"
isReference "y" or "n", indicating if the parameter type includes an "&" or "ref"
isEvent "y" or "n", indicating if the variable is an event declaration
-->
<!-- Events are commented as "variables" but can in fact be overrides of base class
events or implementaitons of interface events. If this is an overide and the special
'docOverridesWithSee' flag is set, we don't use the standard documentation generation
approach, but instead substitute a <see> reference. Note that you also need to disable
duplication of base documentation in the preferences to allow this rule to be applied
for overrides.
-->
<If specialType="override" docOverridesWithSee="true">
<IfNot baseClass="unknown">
<Set desc='See &lt;see cref="%baseClass%.%name%"/&gt;'/>
</IfNot>
</If>
<!-- Trap names like "oldName" to avoid them being documented as "name of the old" -->
<If sName="old *,new *" desc="The %SName:LCase%"/>
<If isEvent="y">
<If stylecop="true">
<If sName="# Event" desc="Occurs when %namenp:StripLastWord:Sentence%."/>
<Set desc="Occurs when %namenp::Sentence%."/>
</If>
<If sName="# Event" desc="Event queue for all listeners interested in %namenp:StripLastWord% events."/>
<Set desc="Event queue for all listeners interested in %namenp% events."/>
</If>
<!-- Enumerated type (values) members -->
<If type="enum" desc="An enum constant representing the %sName% option"/>
<!-- Enumerated type (bitfield) members -->
<If type="bitfield" desc="A binary constant representing the %sName% flag"/>
<If type="bool,boolean">
<If sName="is #,has #,can #" desc="true if this %object% %sName:LCase%"/>
<If sName="are #,should #" desc="true if %sName:LCase%"/>
<If sName="# is #,# has #,# are #,# can #,# should #"
desc="true if %sName:LCase%"/>
<If sname="show,visible" desc="true to show, false to hide"/>
<If sname="show #,# visible" desc="true to show, false to hide the %match:Sentence:LCase%"/>
<If sname="hide,hidden" desc="true to hide, false to show"/>
<If sname="hide #,# hidden" desc="true to hide, false to show the %match:Sentence:LCase%"/>
<If sname="enable,enabled" desc="true to enable, false to disable"/>
<If sname="enable #,# enabled,# on" desc="true to enable, false to disable the %match:Sentence:LCase%"/>
<If sname="disable,disabled" desc="true to disable, false to enable"/>
<If sname="disable #,# disabled,# off" desc="true to disable, false to enable the %match:Sentence:LCase%"/>
<If sname="lock,locked" desc="true to lock, false to unlock"/>
<If sname="# lock,lock #,# locked" desc="true to lock, false to unlock the %match:Sentence:LCase%"/>
<If sname="unlock,unlocked" desc="true to unlock, false to lock"/>
<If sname="unlock #,# unlocked" desc="true to unlock, false to lock the %match:Sentence:LCase%"/>
<If sname="allow #,# allowed" desc="true to allow, false to deny %match:Sentence:LCase%"/>
<If sname="grant #,# granted" desc="true to allow, false to deny %match:Sentence:LCase%"/>
<If sname="deny #,# denied" desc="true to deny, false to allow %match:Sentence:LCase%"/>
<If sname="include,included" desc="true to include, false to exclude"/>
<If sname="include #,# included" desc="true to include, false to exclude the %match:Sentence:LCase%"/>
<If sname="exclude,excluded" desc="true to exclude, false to include"/>
<If sname="exclude #,# excluded" desc="true to exclude, false to include the %match:Sentence:LCase%"/>
<If sname="automatic #" desc="true to automatically %match:Sentence:LCase%"/>
<If sname="promote #,# promoted" desc="true to promote, false to demote the %match:Sentence:LCase%"/>
<If sname="demote #,# demoted" desc="true to demote, false to promote the %match:Sentence:LCase%"/>
<If sname="overwrite" desc="true to overwrite, false to preserve"/>
<If sname="overwrite all #,overwrite #" desc="true to overwrite, false to preserve the %match:Sentence:LCase%"/>
<If sname="delete all #,delete #,destroy all #destroy #"
desc="true to delete the %match:Sentence:LCase%"/>
<If sname="recurse,recursive,recurse #,recursive #,# recursively"
desc="true to process recursively, false to process locally only"/>
<If sname="loaded,saved,written,read" desc="true if the data was %sName:LCase%"/>
<If sname="changed,modified,updated" desc="true if the data is %sName:LCase%"/>
<If sName="# success,# succeeded,# successful,# ok"
desc="true if the %match:LCase% operation was a success, false if it failed"/>
<If sName="success,succeeded,successful,ok" desc="true if the operation was a success, false if it failed"/>
<If sName="select" desc="true to select, false to deselect"/>
<If sName="select #" desc="true to select, false to deselect the %match:Sentence:LCase%"/>
<If name="deselect" desc="true to deselect, false to select"/>
<If name="deselect#" desc="true to deselect, false to select the %match:Sentence:LCase%"/>
<If sName="including" desc="true to include %match:Sentence:LCase%"/>
<If sName="# mode" desc="true to enable %sName:LCase%, false to disable it"/>
<If name="#able">
<IfNot sName="# table" desc ="true if %sName:LCase%"/>
</If>
<If name="#ed" desc ="true if %sName:LCase%"/>
<Set desc="true to %sName:LCase%"/>
</If>
<If sName="default #" desc="The default %match:Sentence:LCase%"/>
<If sName="number of #,number #,# count" desc="Number of %match:Sentence:LCase:Plural%"/>
<If sName="Initial size of #,Initial # size,Default size of #,Default # size,"
desc="Initial size of the %match:Sentence:LCase%"/>
<If sName="size of #,# size" desc="Size of the %match:Sentence:LCase%"/>
<If sName="type of #,# type" desc="Type of the %match:Sentence:LCase%"/>
<If sName="filename,file name" desc="Filename of the file"/>
<If sName="# filename,# file name" desc="Filename of the %match:Sentence:LCase% file"/>
<If sName="leafname,leaf name" desc="Leafname of the file"/>
<If sName="# leafname,# leaf name" desc="Leafname of the %match:Sentence:LCase% file"/>
<If sName="directory name,directory,dir name,dirname,dir path,dirpath"
desc="Pathname of the directory"/>
<If sName="folder name,foldername,folder,folderpath"
desc="Pathname of the folder"/>
<If sName="# folder name,# folder, #folder path"
desc="Pathname of the %match:Sentence:LCase% folder"/>
<If sName="# directory name,# directory,# directory path,# dir name,# dirname,# dir path"
desc="Pathname of the %match:Sentence:LCase% directory"/>
<If sName="path,pathname,path name,file path, filepath"
desc="Full pathname of the file"/>
<If name="lpszPathname" desc="Full pathname of the file"/>
<If sName="# pathname,# path name,#file path,# path"
desc="Full pathname of the %match:Sentence:LCase% file"/>
<If sName="# uri,# url" desc="%namenp:LastWord:UCase% of the %match:Sentence:LCase%"/>
<If sName="uri,url" desc="%namenp:UCase% of the document"/>
<If sName="in stream,input stream,load stream,read stream,source stream"
desc="Stream to read data from"/>
<If sName="out stream,output stream,save stream,write stream,destination stream"
desc="Stream to write data to"/>
<If sName="owner #" desc="The %match:Sentence:LCase% that owns this item"/>
<If sName="# owner" desc="The owner of the %match:Sentence:LCase%"/>
<If sName="# manager,manager #" desc="Manager for %match:Sentence:LCase%"/>
<If sName="# information,# description,# descriptor,# specifier,# data"
desc="Information describing the %match:Sentence:LCase%"/>
<If sName="information,description,data,descriptor,specifier"
desc="The %sname:LCase%"/>
<If sName="# manifest" desc="A list of %match:Sentence:LCase:Plural%"/>
<If sName="# message,# datagram,# packet" desc="Message describing the %match:Sentence:LCase%"/>
<If sName="# context" desc="Context for the %match:Sentence:LCase%"/>
<If sName="# count" desc="Number of %match:Sentence:LCase:Plural%"/>
<If sName="number,count,total,sum" desc="Number of "/>
<If sName="# by">
<If type="string" desc="Describes who %match:Sentence:LCase% this %object%"/>
<Set desc="Amount to %match:Sentence:LCase% by"/>
</If>
<If sName="step,increment" desc="Amount to increment by"/>
<If sName="# options,# parameters,# preferences, settings"
desc="Options for controlling the %match:Sentence:LCase%"/>
<If sName="options,parameters,preferences,settings"
desc="Options for controlling the operation"/>
<If sName="# pattern,# match,# filter" desc="A %sname:LastWord:LCase% specifying the %match:Sentence:LCase%"/>
<If sName="pattern,match,filter" desc="Specifies the %sname:LCase%"/>
<If sName="unique identifier" desc="Unique identifier"/>
<If sName="# unique identifier" desc="Unique identifier for the %match:Sentence:LCase%"/>
<If sName="# colour,# color" desc="The %match:LCase% %sname:LastWord:LCase%"/>
<If sName="start #,end #,projected start #,projected end #,estimated start #,estimated end #"
desc="The %sName:LCase%"/>
<If sName="# identifier" desc="%sname:LastWord:SCase% for the %match:Sentence:LCase%"/>
<If sName="# identifiers" desc="List of %sname:LastWord:LCase% for the %match:Sentence:LCase:Plural%"/>
<If sName="current #,active #,selected #" desc="The %sname:LCase%"/>
<If sName="first name,last name,surname,mid name,middle name,nee,maiden name,christian name"
desc="The person's %sName:LCase%"/>
<If sName="Maximum #,Minimum #,Average #">
<If sName="# length,# width,# height,# depth,# size,# extent,# extents,# time,# duration"
desc="The %sname:LCase%"/>
<If sName="# lengths,# widths,# heights,# depths,# sizes,# extents,# times,# durations"
desc="A list of %sName:Sentence:LCase:Plural%"/>
</If>
<If sName="date of #,# date,time of #,# time" desc="The %sName:LCase%"/>
<If sName="# identifier,# length,# width,# height,# depth,# size,# extent,# extents,# name,# type,# duration,# state"
desc="%sname:LastWord:SCase% of the %match:Sentence:LCase%"/>
<If sName="# lengths,# widths,# heights,# depths,# sizes,# names,# types,# colors,# colours,# dates,# times,# durations,# states"
desc="List of %sname:LastWord:LCase% of the %match:Sentence:LCase:Plural%"/>
<If sName="# category,# group,# set,# categories,# groups,# sets"
desc="%sname:LastWord:SCase% the %match:Sentence:LCase% belongs to"/>
<If sName="length of #,width of #,height of #,depth of #,size of #,extent of #,extents of #,name of #,type of #,color of #,colour of #"
desc="%sname:FirstWord:SCase% of the %match:Sentence:LCase%"/>
<If sName="# buffer" desc="%sname:LastWord:SCase% for %match:Sentence:LCase% data"/>
<If sName="new #">
<If sName="new list,new queue,new stack,new collection,new array,new dictionary"
desc="The %sname:LCase%"/>
</If>
<If sName="# list,# queue,# stack,# collection,# array,# dictionary"
desc="%sname:LastWord:SCase% of %match:Sentence:LCase:Plural%"/>
<If type="object" name="sender" desc="Source of the event"/>
<If type="#EventArgs" desc="%match:Sentence:SCase% event information"/>
<If type="EventArgs" desc="Event information"/>
<If type="CCmdUI*" desc="An interface for setting and retrieving the UI state"/>
<If type="XmlElement">
<If sName="element" desc="Element to process"/>
<If sName="# xml" desc="Element describing the %match:Sentence:LCase%"/>
<If sName="# element" desc="Element describing the %match:Sentence:LCase%"/>
<Set desc="Element describing the %sName:LCase%"/>
</If>
<If type="DateTime" desc="The %sName:LCase% Date/Time"/>
<If type="#Exception" desc="Details of the exception"/>
<If type="WPARAM" desc="The wParam field of the message"/>
<If type="LPARAM" desc="The lParam field of the message"/>
<If sName="how #" desc="Describes %sName:LCase%"/>
<!-- Look for unit suffixes "LengthMetres","LengthInMetres","LengthToMetres" etc -->
<If name="#s">
<If sName="# to years,# to months,# to weeks,# to days,# to hours,# to minutes,# to seconds,# to milliseconds,# in years,# in months,# in weeks,# in days,# in hours,# in minutes,# in seconds,# in milliseconds,# years,# months,# weeks,# days,# hours,# minutes,# seconds,# milliseconds"
desc="The %match:LCase% in %name:LastWord:LCase%"/>
<If sName="# to kilo bytes,# to mega bytes,# to giga bytes,# in kilo bytes,# in mega bytes,# in giga bytes,# kilo bytes,# mega bytes,# giga bytes"
desc="The %match:LCase% in %name:StripLastWord:LastWord:LCase%bytes"/>
<If sName="# to bytes,# to kilobytes,# to megabytes,# to gigabytes,# in bytes,# in kilobytes,# in megabytes,# in gigabytes,# bytes,# kilobytes,# megabytes,# gigabytes"
desc="The %match:LCase% in %name:LastWord:LCase%"/>
<If sName="# to millimeters,# to millimetres,# to centimeters,# to centimetres,# to meters,# to metres,# to kilometres,# to kilometers,# to yards,# to miles,# in millimeters,# in millimetres,# in centimeters,# in centimetres,# in meters,# in metres,# in kilometres,# in kilometers,# in yards,# in miles,# millimeters,# millimetres,# centimeters,# centimetres,# meters,# metres,# kilometres,# kilometers,# yards,# miles"
desc="The %match:LCase% in %name:LastWord:LCase%"/>
<If sName="# to degrees,# to radians,# in degrees,# in radians,# degrees,# radians"
desc="The %match:LCase% in %name:LastWord:LCase%"/>
<If sName="# to pounds,# to tons,# to tonnes,# to kilograms,# in pounds,# in tons,# in tonnes,# in kilograms,# pounds,# kilograms,# tons,# tonnes"
desc="The %match:LCase% in %name:LastWord:LCase%"/>
</If>
<If name="#ius">
<If sName="# to celsius,# to celcius,# in celsius,# in celcius,# celsius,# celcius"
desc="The %match:LCase% in degrees celsius"/>
</If>
<If name="#heit">
<If sName="# to farenheit,# in farenheit,# farenheit" desc="The %match:LCase% in degrees farenheit"/>
</If>
<If type="params#,#params,#params#" desc="A variable-length parameters list containing %sName:LCase%"/>
<!-- Look for common lowercase prefixes -->
<If sNameRaw="i #" desc="Zero-based index of the %match:Sentence:LCase%"/>
<If sName="# index" desc="Zero-based index of the %match:Sentence:LCase%"/>
<If name="i,index" methodName="this" desc="Zero-based index of the entry to access"/>
<If name="i,index" desc="Zero-based index of the "/>
<If sName="# handle" desc="Handle of the %match:Sentence:LCase%"/>
<If type="HANDLE,HWND,HMENU,HEVENT,HGLOBAL,HLOCAL,HKEY,HBITMAP,HBRUSH,HTREEITEM,HCURSOR"
desc="Handle of the %sName:Sentence:LCase%"/>
<If sName="source #,destination #,target #" desc="%sname:SCase%"/>
<If sName="source,from" desc="Source for the"/>
<If sName="destination,target" desc="%sName:SCase% for the"/>
<If sName="format" desc="Describes the format to use"/>
<If sName="message,# message,text,# text,string,# string,question,# question,label,# label,title,# title,datagram,# datagram,packet,# packet"
desc="The %sname:LCase%"/>
<If type="button,checkbox,checkedlistbox,# combo,# combobox,# combo box,datetimepicker,label,linklabel,listbox,listview,maskedtextbox,monthcalendar,notifyicon,numericupdown,picturebox,progressbar,radiobutton,richtextbox,textbox,tooltip,treeview,webbrowser">
<If sName="# button,# check box,# checkbox,# checkedlistbox,# checked list box,# combo,# combobox,# combo box,# datetimepicker,# date time picker,# linklabel,# link label,# listbox,# list box,# list view,# listview,# maskedtextbox,# masked text box,# monthcalendar,# month calendar,# notifyicon,# notify icon,# numericupdown,# numeric up down,# picturebox,# picture box,# progressbar,# progress bar,# radiobutton,# radio button,# richtextbox,# rich text box,# rich text,# textbox,# text box,# tooltip,# tool tip,# treeview,# tree view,# webbrowser,# web browser"
desc="The %match:LCase% control"/>
<Set desc="The %sname:LCase% control"/>
</If>
<!-- Common single-character parameter names -->
<If type="int[],int [],float[],float [],double[], double []">
<If name="x,y,z" desc="An array of %name% coordinates"/>
</If>
<If type="float,double,# float,# double,# float&amp;,# double&amp;,# float &amp;,# double &amp;">
<If name="x,y,z" desc="The %name% coordinate"/>
<If name="w" desc="The width"/>
<If name="h" desc="The height"/>
</If>
<If type="byte,short,int,long,int#,unsigned int,unsigned long">
<If name="i" desc="The index"/>
<If name="x,y,z" desc="The %name% coordinate"/>
<If name="w" desc="The width"/>
<If name="h" desc="The height"/>
</If>
<If type="byte,char">
<If name="b" desc="The byte value"/>
<If name="c" desc="The character"/>
<If name="r" desc="The red component"/>
<If name="g" desc="The green component"/>
<If name="b" desc="The blue component"/>
<If name="a" desc="The alpha component"/>
</If>
<If type="string,CString">
<If name="d" desc="The description text"/>
<If name="f" desc="The format string"/>
<If name="fn" desc="The filename"/>
<If name="m" desc="The message text"/>
<If name="q" desc="The question text"/>
<If name="s" desc="The string"/>
</If>
<If name="x1" desc="The first x value"/>
<If name="x2" desc="The second x value"/>
<If name="y1" desc="The first y value"/>
<If name="y2" desc="The second y value"/>
<If name="z1" desc="The first z value"/>
<If name="z2" desc="The second z value"/>
<If name="w1" desc="The first w value"/>
<If name="w2" desc="The second w value"/>
<If numCharsInName="2">
<If name="#1" desc="The first %coretype%"/>
<If name="#2" desc="The second %coretype%"/>
<If name="#3" desc="The third %coretype%"/>
<If name="#4" desc="The fourth %coretype%"/>
<If name="#5" desc="The fifth %coretype%"/>
</If>
<If name="#1" desc="The first %match:Sentence:LCase%"/>
<If name="#2" desc="The second %match:Sentence:LCase%"/>
<If name="#3" desc="The third %match:Sentence:LCase%"/>
<If name="#4" desc="The fourth %match:Sentence:LCase%"/>
<If name="#5" desc="The fifth %match:Sentence:LCase%"/>
<If type="CDataExchange#" desc="an object that manages the data exchange operation"/>
<!-- Catch-alls. -->
<If name="a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z"
desc="The %type% to process"/>
<Set desc="The %sName:LCase%"/>
</Variables>
<Classes prefix="" suffix=".%ip%">
<!-- Rules for auto-documentation of classes
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
Additional values that can be used for filtering/documenting include:
name The name of the class
sName The name of the class, converted to sentence (space separated words) format, with abbreviated words expanded
sNameRaw The name of the class without any prefix letters removed, converted to sentence
numBases The number of base classes/interfaces this class inherits from/implements
baseNameX Base class/interface name, where X is the 1-based index of the base (e.g. baseName1, baseName2)
baseClass The main base class that this class inherits from, or "unknown" if none/unknown
-->
<!-- If this is an overide and the special 'docPrimaryBaseWithSee' or 'docBasesWithSee' flag is set, we
don't use the standard documentation generation approach, but instead substitute one or many <see>
references. Note that you also need to disable duplication of base documentation in the preferences
to allow this rule to be applied for overrides.
-->
<If docBasesWithSee="true">
<IfNot seeAllBases="unknown">
<Set desc='%seeAllBases%'/>
</IfNot>
</If>
<If docPrimaryBaseWithSee="true">
<IfNot baseClass="unknown">
<Set desc='See &lt;see cref="%baseClass%"/&gt;'/>
</IfNot>
</If>
<If sName="# editing form,# editor form,# editing dialog,# editor dialog,# editing window,# editor window,# editing pane,# editor pane"
desc="%name:LastWord:SCase% for editing the %match%"/>
<If sName="# editor,# designer" desc="%name:LastWord:SCase% for %match%"/>
<If sName="# form,# dialog,# window,# pane,# panel,# wizard">
<If sName="Set #" desc="%name:LastWord:SCase% for setting the %match:StripLastWord:Sentence:LCase%"/>
<If sName="Create #" desc="%name:LastWord:SCase% for creating %match:StripLastWord:Sentence:Plural:LCase%"/>
<If sName="Edit #" desc="%name:LastWord:SCase% for editing the %match:StripLastWord:Sentence:LCase%"/>
<If sName="Report #,Display #,Show #" desc="%name:LastWord:SCase% for reporting information to the user"/>
<If sName="Error #,Problem #" desc="%name:LastWord:SCase% for reporting errors to the user"/>
<If sName="Warning #" desc="%name:LastWord:SCase% for reporting warnings to the user"/>
<If sName="Progress #" desc="%name:LastWord:SCase% for reporting task progress"/>
</If>
<If name="#Form,#Window" desc="Form for viewing the %match:Sentence:LCase%"/>
<If sName="# Dialog,# Wizard" desc="%name:LastWord:SCase% for setting the %match:Sentence:LCase%"/>
<If name="#Pane,#Panel" desc="%name:LastWord:SCase% for editing the %match:Sentence:LCase%"/>
<If name="#EventArgs" desc="Additional information for %match:Sentence:LCase% events"/>
<If sName="# Arguments" desc="Arguments for %match:Sentence:LCase%"/>
<If sName="# Attribute" desc="Attribute for %match:Sentence:LCase%"/>
<If sName="# Exception" desc="Exception for signalling %match:Sentence:LCase% errors"/>
<If name="#Permission" desc="%match:Sentence:LCase% permission descriptor"/>
<If sName="# Collection" desc="Collection of %match:Sentence:LCase:Plural%"/>
<If name="#List" desc="List of %match:Sentence:LCase:Plural%"/>
<If name="#Queue" desc="Queue of %match:Sentence:LCase:Plural%"/>
<If name="#Stack" desc="Stack of %match:Sentence:LCase:Plural%"/>
<If sName="# Dictionary" desc="Dictionary of %match:Sentence:LCase:Plural%"/>
<If sName="# Manager" desc="Manager for %match:Sentence:LCase:Plural%"/>
<If sName="# Information,# Record" desc="Information about the %match:Sentence:LCase%"/>
<If sName="# Manifest" desc="A list of the %match:Sentence:LCase%"/>
<If sName="# Description" desc="Description of the %match:Sentence:LCase%"/>
<If sName="# Buffer" desc="Buffer for %match:Sentence:LCase%"/>
<If sName="# Result" desc="Encapsulates the result of a %match:Sentence:LCase%"/>
<If sName="# Controller" desc="A controller for handling %match:Sentence:LCase:Plural%"/>
<If sName="# View Model" desc="A ViewModel for the %match:Sentence:LCase%"/>
<If sName="# Model" desc="A data Model for the %match:Sentence:LCase%"/>
<If sName="# Persistence" desc="An object for persisting %match:Sentence:LCase% data"/>
<!-- Catch-all. Just converts the element name into a sentence format -->
<Set desc="A %sname:LCase%"/>
</Classes>
<Interfaces suffix=".%ip%">
<!-- Rules for auto-documentation of interfaces
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
Additional values that can be used for filtering/documenting include:
type "interface" (all languages) or "annotation" (java)
-->
<!-- If this is derived and the special 'docPrimaryBaseWithSee' or 'docBasesWithSee' flag is set, we
don't use the standard documentation generation approach, but instead substitute one or many <see>
references. Note that you also need to disable duplication of base documentation in the preferences
to allow this rule to be applied for overrides.
-->
<If docBasesWithSee="true">
<IfNot seeAllBases="unknown">
<Set desc='%seeAllBases%'/>
</IfNot>
</If>
<If docPrimaryBaseWithSee="true">
<IfNot baseClass="unknown">
<Set desc='See &lt;see cref="%baseClass%"/&gt;'/>
</IfNot>
</If>
<Set desc="%type:SCase% for " continue="y"/>
<If name="IDisposable" desc="objects that provide custom disposal implementations"/>
<Set desc="%sName:lCase%"/>
</Interfaces>
<Methods>
<!-- Rules for auto-documentation of method/property/indexer names
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
Additional values that can be used for filtering/documenting include:
name The name of the method
methodName The name of the method
sName The name of the method, converted to sentence (space separated words) format, with abbreviated words expanded
rawMethodName The name of the method, including generic type parameters (e.g. name<A,B>)
methodType The type of the method (one of: method, property, indexer, delegate, eventhandler)
specialType Extra info on the method: normal, static, inline, abstract, virtual, override
access For .net languages and Java, the access (private, protected, internal, public)
retType The return type for this method (const int*)
retTypeBase The core return type for this method, without modifiers (int)
numWordsInName The number of words detected in 'name'
numArgs The number of arguments for this method
argTypeX Argument type, where X is the 1-based index of the argument (e.g. argType1, argType2)
argTypeBaseX Core argument type (without modifiers), where X is the 1-based index of the argument (e.g. argType1, argType2)
argNameX Argument name, where X is the 1-based index of the argument (e.g. argName1, argName2)
signature The argument signature of the method in a cref-compatible form, e.g. 'int,List{string},double'
baseClass "unknown", or where possible for an override method/property, the fully qualified name of the base
class/interface being overridden
getSet (For methodType="property" or "indexer") the appropriate "Gets", "Sets", or "Gets or sets" text for this property/indexer
eventSender (For methodType="eventhandler" only) the sender of the event
eventType (For methodType="eventhandler" only) the type of the event
-->
<!-- If this is an overide and the special 'docOverridesWithSee' flag is set, we don't use
the standard documentation generation approach, but instead substitute a <see> reference.
Note that you also need to disable duplication of base documentation in the preferences to
allow this rule to be applied for overrides.
-->
<If specialType="override" docOverridesWithSee="true">
<IfNot baseClass="unknown">
<If methodType="property" desc='See &lt;see cref="%baseClass%.%methodName%"/&gt;'/>
<If numArgs="0" desc='See &lt;see cref="%baseClass%.%methodName%()"/&gt;'/>
<Set desc='See &lt;see cref="%baseClass%.%methodName%(%signature%)"/&gt;'/>
</IfNot>
</If>
<If methodType="def">
<Set desc="A macro that defines %sname%"/>
</If>
<If methodType="constructor">
<If stylecop="true">
<If specialType="static" desc="Initializes static members of the %containingclass% class"/>
<If numArgs="0" access="private" desc="Prevents a default instance of the %containingclass% class from being created"/>
<Set desc="Initializes a new instance of the %containingclass% class"/>
</If>
<If specialType="static" desc="Static constructor"/>
<If numArgs="0">
<If access="private" desc="Constructor that prevents a default instance of this class from being created"/>
<If access="protected" desc="Specialised default constructor for use only by derived classes"/>
<Set desc="Default constructor"/>
</If>
<If numArgs="1">
<If argType1="%containingclass%,%containingclass% #,# %containingclass%,# %containingclass% #,%containingclass%*,%containingclass%*#,# %containingclass%*#,%containingclass%&amp;,%containingclass%&amp;#,# %containingclass%&amp;,# %containingclass%&amp;#">
<If argType1="#&amp;&amp;" desc="Move constructor"/>
<Set desc="Copy constructor"/>
</If>
</If>
<If access="protected" desc="Specialised constructor for use only by derived classes"/>
<Set desc="Constructor"/>
</If>
<If methodType="destructor">
<If stylecop="true" desc="Finalizes an instance of the %containingclass% class"/>
<Set desc="Destructor"/>
</If>
<If methodType="finaliser">
<If stylecop="true" desc="Finalizes an instance of the %containingclass% class"/>
<Set desc="Finaliser"/>
</If>
<If methodType="indexer">
<Set desc="Indexer to %getSet% items within this collection using array index syntax"/>
</If>
<If methodType="property" desc="%getSet% ">
<If retType="bool,boolean" desc="a value indicating whether ">
<If sname="is # registered,is # active,is # inactive,is # enabled,is # disabled,is # empty,is # open,is # closed,is # available,is # online,is # offline"
desc="a %match:LCase% is %name:lastWord:LCase%"/>
<If sname="is #,has #,contains #,use #,uses #"
desc="this %object% %sname:LCase%"/>
<If sname="are #,can #,should #,allow #,allows #"
desc="we %sname:LCase%"/>
<If sname="show,shown" desc="this %object% is shown"/>
<If sname="visible" desc="this %object% is visible"/>
<If sname="show #" desc="the %match:Sentence:LCase% is shown"/>
<If sname="perform #" desc="the %match:Sentence:LCase% is performed"/>
<If sname="# visible" desc="the %match:Sentence:LCase% is visible"/>
<If sname="hide,hidden" desc="this %object% is hidden"/>
<If sname="hide #,# hidden" desc="the %match:Sentence:LCase% is hidden"/>
<If sname="enable,enabled" desc="this %object% is enabled"/>
<If sname="enable #,# enabled" desc="the %match:Sentence:LCase% is enabled"/>
<If sname="disable,disabled" desc="this %object% is disabled"/>
<If sname="disable #,# disabled" desc="the %match:Sentence:LCase% is disabled"/>
<If sname="lock,locked" desc="this %object% is locked"/>
<If sname="# lock,lock #,# locked" desc="the %match:Sentence:LCase% is locked"/>
<If sname="unlock,unlocked" desc="this %object% is unlocked"/>
<If sname="unlock #,# unlocked" desc="the %match:Sentence:LCase% is unlocked"/>
<If sname="allow #,# allowed" desc="%match:Sentence:LCase% is allowed"/>
<If sname="grant #,# granted" desc="%match:Sentence:LCase% is granted"/>
<If sname="deny #,# denied" desc="%match:Sentence:LCase% is denied"/>
<If sname="overwrite" desc="this %object% will overwrite"/>
<If sname="overwrite all #,overwrite #" desc="the %match:Sentence:LCase% will be overwritten"/>
<If sname="delete all #,delete #,destroy all #destroy #"
desc="the %match:Sentence:LCase% wil be deleted"/>
<If sname="recurse,recursive,recurse #,recursive #,# recursively"
desc="processing will act recursively"/>
<If sname="saved,written,changed,modified,updated,clean,dirty"
desc="this %object% is %sName:LCase%"/>
<If sname="# loaded,# saved,# written,# read,# changed,# modified,# updated"
desc="the %match:sentence:LCase% was %name:LastWord:LCase%"/>
<If sname="load #,save #,import #,export #,refresh #,render #,attach #,flush #,clear #,open #,connect #"
desc="the %match:sentence:LCase% should be %namenp:FirstWord:LCase%ed"/>
<If sname="include #,calculate #,recalculate #"
desc="the %match:sentence:LCase% should be %namenp:FirstWord:LCase%d"/>
<If sname="force #,compute #,close #,change #"
desc="the %match:sentence:LCase% should be %namenp:FirstWord:LCase%d"/>
<If sname="redraw #,draw #" desc="the %match:sentence:LCase% should be %namenp:FirstWord:LCase%n"/>
<If sname="read #,set #" desc="the %match:sentence:LCase% should be %namenp:FirstWord:LCase%"/>
<If sname="modify #" desc="the %match:sentence:LCase% should be modified"/>
<If sname="write #" desc="the %match:sentence:LCase% should be written"/>
<If sname="get #,update #,validate #" desc="or not to %namenp:FirstWord:LCase% the %match:sentence:LCase%"/>
<If name="#able,#ible"> <!-- catch names like "editable" -->
<IfNot sName="# table" desc ="this %object% is %sName:LCase%"/>
</If>
<Set desc="the %sname:LCase%"/>
</If>
<If sName="default #" desc="the default %match:Sentence:LCase%"/>
<If sName="number of #,number #,# count" desc="the number of %match:Sentence:LCase:Plural%"/>
<If sName="Total Of #,Total #,Count Of #,Count #"
desc="the total number of %match:Sentence:LCase%"/>
<If sName="size of #,# size" desc="the size of the %match:Sentence:LCase%"/>
<If sName="type of #,# type" desc="the type of the %match:Sentence:LCase%"/>
<If sName="filename,file name" desc="the filename of the file"/>
<If sName="# filename,# file name" desc="the filename of the %match:Sentence:LCase% file"/>
<If sName="leafname,leaf name" desc="the leafname of the file"/>
<If sName="# leafname,# leaf name" desc="the leafname of the %match:Sentence:LCase% file"/>
<If sName="directory name,directory,dir name,dirname,dir path,dirpath"
desc="the pathname of the directory"/>
<If sName="folder name,foldername,folder" desc="the pathname of the folder"/>
<If sName="# folder name,# folder" desc="the pathname of the %match:Sentence:LCase% folder"/>
<If sName="# directory name,# directory,# dir name,# dirname"
desc="the pathname of the %match:Sentence:LCase% directory"/>
<If sName="path,pathname,path name,file path, filepath"
desc="the full pathname of the file"/>
<If sName="# pathname,# path name,#file path,# path"
desc="the full pathname of the %match:Sentence:LCase% file"/>
<If sName="# uri,# url" desc="%name:LastWord:UCase% of the %match:Sentence:LCase%"/>
<If sName="uri,url" desc="%namenp:UCase% of the document"/>
<If sName="# owner,owner #" desc="the %match:Sentence:LCase% that owns this item"/>
<If sName="# manager" desc="the manager for %match:Sentence:LCase%"/>
<If sName="# information,# description,# data"
desc="information describing the %match:Sentence:LCase%"/>
<If sName="# manifest" desc="a list of %match:Sentence:LCase:Plural%"/>
<If sName="# message" desc="a message describing the %match:Sentence:LCase%"/>
<If sName="# context" desc="a context for the %match:Sentence:LCase%"/>
<If sName="# count" desc="the number of %match:Sentence:LCase:Plural%"/>
<If sName="number,count,total,sum" desc="the number of "/>
<If sName="# by">
<If rettype="string" desc="who %match:Sentence:LCase% this %object%"/>
<Set desc="the amount to %match:Sentence:LCase% by"/>
</If>
<If sName="step,increment,by" desc="the amount to increment by"/>
<If sName="# options,# parameters,# preferences, settings"
desc="options for controlling the %match:Sentence:LCase%"/>
<If sName="options,parameters,preferences,settings"
desc="options for controlling the operation"/>
<If sName="unique identifier" desc="a unique identifier"/>
<If sName="# unique identifier" desc="a unique identifier of the %match:Sentence:LCase%"/>
<If sName="current #,active #,selected #" desc="The %sname:LCase%"/>
<If sName="first name,last name,surname,mid name,middle name,nee,maiden name,christian name"
desc="The person's %sName:LCase%"/>
<If sName="date of #,# date,time of #,# time"
desc="the %sName:LCase%"/>
<If sName="# identifier,# length,# width,# height,# depth,# size,# extent,# extents,# name,# type,# color,# colour,# duration,# state"
desc="the %sname:LastWord:LCase% of the %match:Sentence:LCase%"/>
<If sName="# identifiers,# lengths,# widths,# heights,# depths,# sizes,# names,# types,# colors,# colours,# dates,# times,# durations,# states"
desc="a list of %sname:LastWord:LCase% of the %match:Sentence:LCase:Plural%"/>
<If sName="# category,# group,# set,# categories,# groups,# sets"
desc="the %sname:LastWord:LCase% the %match:Sentence:LCase% belongs to"/>
<If sName="length of #,width of #,height of #,depth of #,size of #,extent of #,extents of #,name of #,type of #,color of #,colour of #"
desc="the %sname:FirstWord:LCase% of the %match:Sentence:LCase%"/>
<If sName="# buffer" desc="the %sname:LastWord:LCase% for %match:Sentence:LCase% data"/>
<If sName="# list,# queue,# stack,# collection,# array,# dictionary"
desc="a %sname:LastWord:LCase% of %match:Sentence:LCase:Plural%"/>
<If retType="XmlElement">
<If sName="element" desc="an element describing the "/>
<If sName="# element" desc="an element describing the %match:Sentence:LCase%"/>
<Set desc="an element describing the %sName:LCase%"/>
</If>
<If sName="# Date" desc="the %sName:LCase%"/>
<If retType="DateTime,DateTime?" desc="the Date/Time of the %sName:LCase%"/>
<If retType="#Exception" desc="details of the exception"/>
<!-- Look for common lowercase prefixes -->
<If sName="# index" desc="the zero-based index of the %match:Sentence:LCase%"/>
<If sName="index" desc="the zero-based index of this %object%"/>
<If sName="# handle" desc="the handle of the %match:Sentence:LCase%"/>
<If sName="source #,destination #,target #" desc="%sname:LCase%"/>
<If sName="source,from" desc="the source for the"/>
<If sName="destination,target" desc="the %sName:SCase% for the"/>
<If sName="format" desc="the format to use"/>
<If sName="message,# message,text,# text,string,# string,question,# question,label,# label,title,# title"
desc="the %sname:LCase%"/>
<If type="button,checkbox,checkedlistbox,# combo,# combobox,# combo box,datetimepicker,label,linklabel,listbox,listview,maskedtextbox,monthcalendar,notifyicon,numericupdown,picturebox,progressbar,radiobutton,richtextbox,textbox,tooltip,treeview,webbrowser">
<If sName="# button,# check box,# checkbox,# checkedlistbox,# checked list box,# combo,# combobox,# combo box,# datetimepicker,# date time picker,# linklabel,# link label,# listbox,# list box,# list view,# listview,# maskedtextbox,# masked text box,# monthcalendar,# month calendar,# notifyicon,# notify icon,# numericupdown,# numeric up down,# picturebox,# picture box,# progressbar,# progress bar,# radiobutton,# radio button,# richtextbox,# rich text box,# rich text,# textbox,# text box,# tooltip,# tool tip,# treeview,# tree view,# webbrowser,# web browser"
desc="the %match:LCase% control"/>
<Set desc="the %sname:LCase% control"/>
</If>
<Set desc="the %sname:LCase%"/>
</If> <!-- Properties -->
<If methodType="operator">
<If specialType="explicit" continue="y" desc="Explicit "/>
<If specialType="implicit" continue="y" desc="Implicit "/>
<If name="operator+=,+=" desc="Addition assignment operator"/>
<If name="operator-=,-=" desc="Subtraction assignment operator"/>
<If name="operator*=,*=" desc="Multiplication assignment operator"/>
<If name="operator/=,/=" desc="Division assignment operator"/>
<If name="operator%%=,%%=" desc="Modulus assignment operator"/>
<If name="operator~=,~=" desc="Bitwise 'ones complement' assignment operator"/>
<If name="operator^=,^=" desc="Bitwise 'exclusive or' assignment operator"/>
<If name="operator&amp;=,&amp;=" desc="Bitwise 'and' assignment operator"/>
<If name="operator|=,|=" desc="Bitwise 'or' assignment operator"/>
<If name="operator&lt;&lt;=,&lt;&lt;=" desc="Bitwise left shift assignment operator"/>
<If name="operator&gt;&gt;=,&gt;&gt;=" desc="Bitwise right shift assignment operator"/>
<If numArgs="0">
<If name="operator-&gt;,-&gt;" desc="Member dereference operator"/>
<If name="operator-&gt;*,-&gt;*" desc="Indirect member dereference operator"/>
<If name="operator&amp;,&amp;" desc="Reference operator"/>
<If name="operator*,*" desc="Indirection operator"/>
<If name="operator#*,#*" desc="%name% casting operator"/>
<If name="operator.,." desc="Member access operator"/>
</If>
<If name="operator++,++" desc="Increment operator"/>
<If name="operator+,+" desc="Addition operator"/>
<If name="operator--,--" desc="Decrement operator"/>
<If name="operator-,-" numArgs="1" desc="Negation operator"/>
<If name="operator-,-" desc="Subtraction operator"/>
<If name="operator*,*" desc="Multiplication operator"/>
<If name="operator/,/" desc="Division operator"/>
<If name="operator%,%" desc="Modulus operator"/>
<If name="operator~,~" desc="Bitwise 'ones complement' operator"/>
<If name="operator^,^" desc="Bitwise 'exclusive or' operator"/>
<If name="operator&amp;,&amp;" desc="Bitwise 'and' operator"/>
<If name="operator|,|" desc="Bitwise 'or' operator"/>
<If name="operator&lt;&lt;,&lt;&lt;">
<If rettype="#stream#" desc="Stream insertion operator"/>
<Set desc="Bitwise left shift operator"/>
</If>
<If name="operator&gt;&gt;,&gt;&gt;">
<If rettype="#stream#" desc="Stream extraction operator"/>
<Set desc="Bitwise right shift operator"/>
</If>
<If name="operator!,!" desc="Logical negation operator"/>
<If name="operator&amp;&amp;,&amp;&amp;" desc="Logical 'and' operator"/>
<If name="operator||,||" desc="Logical 'or' operator"/>
<If name="true" desc="Boolean 'true' operator"/>
<If name="false" desc="Boolean 'false' operator"/>
<If sname="operator true" desc="Boolean 'true' operator"/>
<If sname="operator false" desc="Boolean 'false' operator"/>
<If name="operator==,==" desc="Equality operator"/>
<If name="operator!=,!=" desc="Inequality operator"/>
<If name="operator&lt;,&lt;" desc="Less-than comparison operator"/>
<If name="operator&lt;=,&lt;=" desc="Less-than-or-equal comparison operator"/>
<If name="operator&gt;,&gt;" desc="Greater-than comparison operator"/>
<If name="operator&gt;=,&gt;=" desc="Greater-than-or-equal comparison operator"/>
<If name="operator=,=">
<If argType1="#&amp;&amp;" desc="Move assignment operator"/>
<Set desc="Assignment operator"/>
</If>
<If name="operator[],[]" desc="Array indexer operator"/>
<If name="operator(),()" desc="Function call operator"/>
<If name="operator," desc="Comma operator"/>
<If name="," desc="Comma operator"/>
<If name="operator new,new" desc="Object allocation operator"/>
<If name="operator delete,delete" desc="Object de-allocation operator"/>
<If name="operator new[],operator new [],new[],new []"
desc="Array allocation operator"/>
<If name="operator delete[],operator delete [],delete[],delete []"
desc="Array de-allocation operator"/>
<If name="operator#" desc="%match% casting operator"/>
<Set desc="%name% casting operator"/>
</If>
<If name="main,tmain,_main,_tmain" desc="Main entry-point for this application"/>
<If retType="IEnumerable#">
<If sname="Get By #,Get #,Fetch #,List #,Enumerate #,Scan #,Traverse #,Find By #,Find On #,Find #,Search By #,Search On #,Search For #,Search #">
<If sname="# All" desc="%namenp:FirstWord:Plural:SCase% all items in this collection"/>
<If sname="# All #" desc="%namenp:FirstWord:Plural:SCase% all %match2:StripGen:Sentence:Plural:LCase% in this collection"/>
<Set desc="%namenp:FirstWord:Plural:SCase% the %match:StripGen:Sentence:Plural:LCase% in this collection"/>
</If>
<If sname="Get,Fetch,List,Enumerate,Scan,Traverse,Find,Search" desc="Enumerates the items in this collection that meet given criteria"/>
<Set desc="Enumerates %sname:StripGen:LCase% in this collection"/>
</If>
<If methodType="eventHandler" desc="Event handler. Called by %eventSender% for %eventType:Sentence:LCase% events"/>
<If methodType="delegate" name="#EventHandler" desc="Delegate for handling %match% events"/>
<!-- Qt support -->
<If retType="void">
<If sname="signal #">
<If numArgs="0" desc="Raises a %match:Sentence:SCase% signal"/>
<If numArgs="1" desc="Raises a %match:Sentence:SCase% signal"/>
</If>
<If name="on_#">
<If numArgs="0" desc="Handles %match:Sentence:LCase% signals"/>
<If numArgs="1" desc="Handles %match:Sentence:LCase% signals"/>
</If>
</If>
<If sName="first name,last name,surname,mid name,middle name,nee,maiden name,christian name"
desc="The person's %sName:LCase%"/>
<If sName="# surname,# nee" desc="%match:SCase% the %sName:LastWord:LCase%"/>
<If sName="# first name,# last name,# mid name,# middle name,# maiden name,# christian name"
desc="%match:SCase% the %sName:StripLastWord:LastWord:LCase% name"/>
<If argType1="this #" continue="y" desc="A %match% extension method that "/>
<If numArgs="0">
<If sName="Add #" desc="Adds %match:Sentence:LCase%"/>
<If sName="Minimum,Maximum,Average,Median,Mean"
desc="Determines the %sname:LCase% value"/>
</If>
<!-- ReadSizeOf(Buffer DataBuffer) = "Read size of the data buffer" -->
<If numArgs="1">
<If sName="# Of" desc="%sName:SCase% the given %argName1:Sentence:LCase%"/>
</If>
<If rettype="bool,boolean">
<If sname="are #,can #,should #,allow #"
desc="Determine if we %sname:LCase%"/>
<If name="try#" desc="Attempts to %match:Sentence:LCase% from the given data"/>
</If>
<If numArgs="1,2,3">
<If rettype="bool,boolean">
<If sname="is # registered,is # active,is # inactive,is # enabled,is # disabled,is # empty,is # open,is # closed,is # available,is # online,is # offline"
desc="Queries if a %match:LCase% is %name:lastWord:LCase%"/>
<If name="Are#" desc="Query if %match:Sentence:LCase% in '%argName1%'"/>
<If name="Should#,Can#" desc="Queries if we %sName:LCase% '%argName1%'"/>
<If name="Is#,Contains#,Has#,Includes#,Does#"
desc="Query if '%argName1%' %sName:LCase%"/>
</If>
<If sname="Add #">
<If sname="Add To #" desc="Adds to the %match:Sentence:LCase%"/>
<If sname="Add #" numArgs="1" desc="Adds a %match:Sentence:LCase%"/>
<If sname="Add #" numArgs="2" desc="Adds a %match:Sentence:LCase% to '%argName2%'"/>
</If>
<If sName="Clamp" desc="%sName:SCase% the given %argName1:Sentence:LCase%"/>
<If sName="Minimum,Maximum,Average,Median,Mean"
desc="Determines the %sname:LCase% of the given parameters"/>
<If sName="Recalculate #,Calculate #,Get #">
<If sName="# Minimum,# Maximum,# Average,# Median,# Mean,# Range,# Standard deviation"
desc="Finds the %namenp:StripFirstWord:LCase% of the given arguments"/>
</If>
</If>
<If retType="bool,boolean">
<If sname="is # registered,is # active,is # inactive,is # enabled,is # disabled,is # empty,is # open,is # closed,is # available,is # online,is # offline"
desc="Queries if a %match:LCase% is %name:lastWord:LCase%"/>
<If name="Are#" desc="Query if %match:Sentence:LCase%"/>
<If name="Should#,Can#" desc="Queries if we %sName:LCase%"/>
<If name="Is#,Contains#,Has#,Includes#" desc="Query if this %object% %sName:LCase%"/>
<If sname="Overlaps,Intersects,Covers,Hides,Collides#,Contains,Owns,Controls"
desc="Query if this %object% %namenp:Sentence:LCase% the given %argName1%"/>
</If>
<If name="GetHashCode">
<If stylecop="true" desc="Returns a hash code for this %object%."/>
<Set desc="Calculates a hash code for this %object%"/>
</If>
<!-- MVC support -->
<If name="ExecuteResult" desc="Executes this action result using the specified controller context"/>
<If argType1="RequestContext" name="BeginExecute,BeginExecuteCore"
desc="Begins asynchronous execution of the specified request context"/>
<If name="EndExecute,EndExecuteCore" desc="Ends execution of an asynchronous action"/>
<If name="Content" retType="ContentResult" desc="Creates a content result"/>
<If retType="#Result">
<If retType="FileContentResult,FileStreamResult,FilePathResult,ContentResult"
desc="Creates a %retType% with the given content"/>
<If retType="HttpNotFoundResult" desc="Creates an 'HTTP Not Found' result with the given status description as its content"/>
<If retType="JavaScriptResult" desc="Creates a JavaScript result with the given script as its content"/>
<If retType="JsonResult" desc="Creates a JSON result with the given data as its content"/>
<If retType="ViewResult" desc="Creates a result that renders a view to the response"/>
<If retType="PartialViewResult" desc="Creates a result that renders a partial view to the response"/>
<If retType="RedirectResult" desc="Creates a result that redirects to the given URL"/>
<If retType="RedirectToRouteResult" desc="Creates a result that redirects to the given route"/>
</If>
<!-- MVC support -->
<If sname="On #">
<If sName="On Update #" desc="Updates the user interface for the %match:Sentence:LCase% action"/>
<If name="OnCreate" argType1="LPCREATESTRUCT" desc="Called when this window is created"/>
<If name="OnCommand" argType1="WPARAM" desc="Handles windows WM_COMMAND messages"/>
<If name="OnNotify" argType1="WPARAM" desc="Handles windows WM_NOTIFY messages"/>
<If name="OnPaint" desc="Paints this window"/>
<If name="OnInitDialog" desc="Initialises this dialog and the controls within it"/>
<If argtype1="EventArgs,#EventArgs" desc="Raises the %match:Sentence:LCase% event"/>
<If argtype2="EventArgs,#EventArgs" desc="Raises the %match:Sentence:LCase% event"/>
<If sName="On #" desc="Executes the %match:Sentence:LCase% action"/>
</If>
<If name="Create,CreateEx" argType1="CWnd*" desc="Creates the Window instance that will be represented by this %object%"/>
<If name="DoDataExchange" desc="Exchanges data to/from the controls in this dialog"/>
<If name="PreTranslate#" desc="Translates all %match:Sentence:LCase:Plural% before they are processed by the main message loop"/>
<If sName="Calculate Number #,Compute Number #" desc="Calculates the number of %match:Sentence:LCase%"/>
<If sName="Recalculate #,Calculate #,Compute #" desc="Calculates the %match:Sentence:LCase%"/>
<If sName="Generate #" desc="Generates a %match:Sentence:LCase%"/>
<If sName="Execute #,Run #">
<If sName="Execute action,Run action,Execute operation,Run operation"
desc="Executes the %sname:LastWord:LCase%"/>
<If sName="Execute calculation,Run calculation" desc="Executes the calculation"/>
<If sName="Execute test, Run test" desc="Executes the test"/>
<If sName="Execute tests,Run tests" desc="Executes the tests"/>
<If sName="Execute # test,Run # tests" desc="Executes the %match:Sentence:LCase% %sname:LastWord:LCase%"/>
<If sName="Execute # action,Run # action" desc="Executes the %match:Sentence:LCase% action"/>
<If sName="Execute #,Run #" desc="Executes the %match:Sentence:LCase% operation"/>
</If>
<If sName="Do #,Launch #, Fork #" desc="Executes the %match:Sentence:LCase% operation"/>
<If sName="Perform #">
<If sName="perform action,perform calculation,perform test,perform tests"
desc="Performs the %sname:LastWord:LCase%"/>
<If sName="perform # action" desc="Performs the %match:Sentence:LCase% action"/>
<If sName="perform #" desc="Performs the %match:Sentence:LCase% action"/>
</If>
<If sName="Ensure #" desc="Ensures that %match:Sentence:LCase%"/>
<If sName="# Helper" desc="Helper method that %match:Sentence:LCase%"/>
<If numArgs="1" argType1="#EventArgs,EventArgs">
<If sName="On#Event,Raise#Event,Fire#Event,Signal#Event"
desc="Raises the %match:Sentence:LCase% event"/>
<If sName="On #,Raise #,Fire #,Signal #" desc="Raises the %match:Sentence:LCase% event"/>
</If>
<If sName="On#Event,Raise#Event,Fire#Event,Signal#Event"
desc="Raises the %match:Sentence:LCase% event"/>
<If sName="Raise #,Signal #" desc="Raises the %match:Sentence:LCase% event"/>
<If sName="Thread Pool Raise #" desc="Raises the %match:Sentence:LCase% event on a thread-pool thread"/>
<If sName="Invoke" desc="Executes the given operation on a different thread, and waits for the result"/>
<If sName="Invoke #" desc="Executes the %match:Sentence:LCase% on a different thread, and waits for the result"/>
<If sName="Begin Invoke" desc="Executes the given operation on a different thread, asynchronously"/>
<If sName="Begin Invoke #" desc="Executes the %match:Sentence:LCase% on a different thread, asynchronously"/>
<If name="Equals">
<If numArgs="1" desc="Tests if this %argType1% is considered equal to another"/>
<If numArgs="2" desc="Tests if two %argType1% objects are considered equal"/>
<Set desc="Tests if objects are considered equal"/>
</If>
<If sName="Compare,Compare To,Difference">
<If numArgs="1" desc="Compares this %argType1% object to another to determine their relative ordering"/>
<If numArgs="2" desc="Compares two %argType1% objects to determine their relative ordering"/>
<Set desc="Compares objects"/>
</If>
<If sName="Enqueue,En Queue,Add To Queue" desc="Adds an object onto the end of this queue"/>
<If sName="Dequeue,De Queue,Get head" desc="Removes the head object from this queue"/>
<If sName="Get #,Find #,Read #,Write #,Load #,Save #,Serialise #,Serialize #">
<If sName="# Parent" desc="%match:FirstWord:SCase:Plural% the parent of this item"/>
<If sName="# Owner" desc="%match:FirstWord:SCase:Plural% the owner of this item"/>
<If sName="# Previous" desc="%match:FirstWord:SCase:Plural% the previous item"/>
<If sName="# Next" desc="%match:FirstWord:SCase:Plural% the next item"/>
<If sName="# First Child" desc="%match:FirstWord:SCase:Plural% the first child of this item"/>
<If sName="# Last Child" desc="%match:FirstWord:SCase:Plural% the last child of this item"/>
<If sName="# Child" desc="%match:FirstWord:SCase:Plural% a child of this item"/>
<If sName="# Children,# Subtree,# Sub Tree" desc="%match:FirstWord:SCase:Plural% the children of this item"/>
<If sName="Get Parent #" desc="Gets the parent %match:LCase%"/>
<If sName="Get Owner #" desc="Gets the owner %match:LCase%"/>
<If sName="Get Previous #" desc="Gets the previous %match:LCase%"/>
<If sName="Get Next #" desc="Gets the next %match:LCase%"/>
<If sName="Get Child #" desc="Gets a child %match:LCase%"/>
<If sName="Get First #" desc="Gets the first %match:LCase%"/>
<If sName="Get Last #" desc="Gets the last %match:LCase%"/>
</If>
<If sName="Add Range" desc="Adds a collection of objects to the end of this collection"/>
<If name="StartUp" desc="Prepares this %object% for use"/>
<If name="ShutDown" desc="Shuts down this %object% and frees any resources it is using"/>
<If name="Serialise,Serialize,Deserialise,Deserialize"
decs="%match% this %object% to the given stream" />
<If sName="Register for #" desc="Registers this %object% for %match:LCase%"/>
<If sName="Deregister for #,Unregister for #" desc="Deregisters this %object% for %match:LCase%"/>
<If sName="To #">
<If name="ToString" desc="Convert this %object% into a string representation"/>
<If name="ToArray" desc="Convert this %object% into an array representation"/>
<If name="ToBinary" desc="Convert this %object% into a binary representation"/>
</If>
<If sName="To #,As #,Convert to #,Cast to #">
<If numArgs="1" desc="Converts a %argName1% to a %match:Sentence:LCase%"/>
<Set desc="Converts this %object% to a %match:Sentence:LCase%"/>
</If>
<If numArgs="1" sName="From #,Convert from #,Cast from #,Initialise From #,Initialize From #,Copy From #"
desc="Initializes this %object% from the given %sName:LCase%"/>
<If sName="Delete #,Destroy #,Clear #,Reset #,Remove #,Unlink #,Delink #,Disconnect #,Pull #,Pop #,Extract #,Decompress #,Download #,Install #,Flush #,Apply #,Activate #,Update #,Validate #,Copy #,Synchronize #,Synchronise #,Render #,Process #,Acquire #,Release #,Register #,Deregister #,Unregister #,Handle #,Paint #,Render #,Paste #,Pick #">
<If numArgs="1" desc="%sName:FirstWord:SCase:Plural% the %sName:StripFirstWord:LCase% described by %argName1%"/>
<Set desc="%sName:FirstWord:SCase:Plural% the %sName:StripFirstWord:Sentence:LCase%"/>
</If>
<If sName="Display #,Insert #">
<If numArgs="1" desc="%sName:FirstWord:SCase%s a %sName:StripFirstWord:LCase% described by %argName1%"/>
<Set desc="%sName:FirstWord:SCase%s a %sName:StripFirstWord:Sentence:LCase%"/>
</If>
<If sName="Prepend #,Append #,Add #,Push #,Upload #,Link #,Connect #,Write #,Save #,Dump #,Inform #,Notify #,Broadcast #,Send #,Post #">
<If numArgs="0" desc="%sName:FirstWord:SCase:Plural% the %sName:StripFirstWord:Sentence:LCase%"/>
<Set desc="%sName:FirstWord:SCase:Plural% a %sName:StripFirstWord:Sentence:LCase%"/>
</If>
<If sName="Find,Search,Index Of">
<If numArgs="1">
<If argType1="int,Int32,unsigned int,UInt32,short,Int16,long,long long,Int64,guid,Guid"
desc="Searches for the first match for the given %argName1:Sentence:LCase%"/>
<Set desc="Searches for the first match for the given %argType1:Sentence:LCase%"/>
</If>
<Set desc="Searches for the first match"/>
</If>
<If sName="Find All #,Index Of All #" desc="Searches for all %match:Sentence:LCase%"/>
<If sName="Find Any,Index Of Any" desc="Searches for any matches from the given list"/>
<If sName="Find Any #,Index Of Any #" desc="Searches for any %match:Sentence:LCase%"/>
<If sName="Find First #,Index Of First #" desc="Searches for the first %match:Sentence:LCase%"/>
<If sName="Find Next #,Index Of Next #" desc="Searches for the next %match:Sentence:LCase%"/>
<If sName="Find Previous #,Index Of Previous #" desc="Searches for the next %match:Sentence:LCase%"/>
<If sName="Find Last #,Index Of Last #" desc="Searches for the last %match:Sentence:LCase%"/>
<If sName="Find Nearest #,Find Closest #" desc="Searches for the nearest %match:Sentence:LCase%"/>
<If sName="Find Furthest #,Find Farthest #" desc="Searches for the furthest %match:Sentence:LCase%"/>
<If sName="Find Newest #" desc="Searches for the newest %match:Sentence:LCase%"/>
<If sName="Find Oldest #" desc="Searches for the oldest %match:Sentence:LCase%"/>
<If sName="Find Largest #,Find Biggest #" desc="Searches for the largest %match:Sentence:LCase%"/>
<If sName="Find Smallest #" desc="Searches for the smallest %match:Sentence:LCase%"/>
<If sName="Find On #,Find By #,Find #,Search For #,Search By #,Search On #,Search #,Index Of #"
desc="Searches for the first %match:Sentence:LCase%"/>
<If sName="Reverse Find,Reverse Search,Last Index Of">
<If numArgs="1" desc="Searches for the last match for the given %argType1:Sentence:LCase%"/>
<Set desc="Searches for the last match"/>
</If>
<If sName="Reverse Find By #,Reverse Find #,Reverse Search On #,Reverse Search #,Last Index Of #"
desc="Searches for the last %match:Sentence:LCase%"/>
<If sName="Lookup,Look Up" desc="Looks up a given key to find its associated value"/>
<If sName="Lookup #,Look Up #" desc="Looks up a given key to find its associated %match:Sentence:LCase%"/>
<If sName="For,For Each,For All" desc="Applies an operation to all items in this collection"/>
<If sName="Initialise #,Initialize #" desc="%sName:FirstWord:SCase:Plural% the %namenp:StripFirstWord:Sentence:LCase%"/>
<If sName="Set up #,Setup #" desc="Sets up the %match:Sentence:LCase%"/>
<If sName="Reinitialise #,Reinitialize #" desc="%namenp:FirstWord:SCase:Plural% the %namenp:StripFirstWord:Sentence:LCase%"/>
<If sName="Declare #" desc="Declares the %match:Sentence:LCase%"/>
<If sName="Connect to #,Connect #" desc="Connect to the %match:Sentence:LCase%"/>
<If sName="Disconnect from#,Disconnect#" desc="Disconnect from the %match:Sentence:LCase%"/>
<If name="#Callback,#Upcall,#Handler" desc="%name:LastWord:SCase%, called when the %match:Sentence:LCase%"/>
<If sName="Test if #" desc="Tests if the %match:Sentence:LCase%"/>
<If sName="Hit Test" desc="Determines which item (if any) has been hit"/>
<If sName="# Test,Test #" desc="Tests %match:Sentence:LCase%"/>
<If sName="Ready to #" desc="Query if we are ready to %match:Sentence:LCase%"/>
<If sName="Log#">
<If sName="Log in,Log on,Log off,Log out,Login,Logon,Logoff,Logout"
desc="%sName:SCase%"/>
</If>
<If sName="Get#">
<If sName="Get X #,Get Y #,Get Z #" desc="%sName:SCase%"/>
</If>
<If numArgs="0" sName="Build #,Create #,Make #,Open #,Close #,Write #,Save #,Read #,Load #,Dump #,Scan #,Report #,Log #,Get #,Put #,Set #,Fetch #,Store #,Return #,Retrieve #,Locate #,Query #,Download #,# Down Load,Upload #">
<If numwordsinname="2" desc="%namenp:FirstWord:SCase:Plural% the %match:Sentence:LCase%"/>
<Set desc="%namenp:FirstWord:SCase:Plural% %match:Sentence:LCase%"/>
</If>
<If sName="Rollback #,Roll Back #" desc="Rolls back a %match:Sentence:LCase%"/>
<If sName="Build #,Create #,Make #,Open #,Close #,Write #,Save #,Read #,Load #,Dump #,Scan #,Report #,Log #,Get #,Put #,Set #,Fetch #,Store #,Return #,Retrieve #,Locate #,Query #,Commit #,Download #,# Down Load,Upload #,Start #,Stop #,End #,Begin #,Finish #,Split #">
<If numwordsinname="2" desc="%namenp:FirstWord:SCase:Plural% a %match:Sentence:LCase%"/>
<Set desc="%namenp:FirstWord:SCase:Plural% %match:Sentence:LCase%"/>
</If>
<If sName="New #" desc ="Creates a %sName:LCase%"/>
<If sName="show #,hide #,enable #,disable #,lock #,unlock #,promote #,demote #"
desc="%namenp:FirstWord:Plural:SCase% the %match:Sentence:LCase%"/>
<If sName="grant #,deny #" desc="%namenp:FirstWord:Plural:SCase% %match:Sentence:LCase%"/>
<If sName="# exists,# is writable,# is readable,# open"
desc="Queries if a given %sName:LCase%"/>
<If numWordsInName="1">
<If name="Deinitialise,Deinitialize" desc="De-initialises this %object% and frees any resources it is using"/>
<If name="Register" desc="Registers this %object%"/>
<If name="Deregister,Unregister" desc="Deregisters this %object%"/>
<If sName="Add" desc="Adds %argName1%"/>
<If sName="Prepend,Append">
<If numArgs="0" desc="%namenp:SCase:Plural%"/>
<Set desc="%namenp:SCase:Plural% a %argName1%"/>
</If>
<If sName="Clear" desc="Clears this %object% to its blank/initial state"/>
<If sName="Clone,Duplicate" desc="Makes a deep copy of this %object%"/>
<If sName="Contains" desc="Determines if this collection contains a given object"/>
<If sName="Dispose">
<If numArgs="0" desc="Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources"/>
<Set desc="Releases the unmanaged resources used by the %containingClass% and optionally releases the managed resources."/>
</If>
<If sName="Peek" desc="Returns the top-of-stack object without removing it"/>
<If sName="Pop" desc="Removes and returns the top-of-stack object"/>
<If sName="Push" desc="Pushes an object onto this stack"/>
<If sName="Initialise,Initialize" desc="%sName:FirstWord:SCase:Plural% this %object%"/>
<If sName="Create">
<If retType="void" desc="Creates this %object%"/>
<Set desc="Creates a new %retType%"/>
</If>
<If sName="Delete,Destroy,Clear,Reset,Remove,Unlink,Delink,Disconnect,Pull,Pop,Extract,Decompress,Download,Install,Flush,Apply,Activate,Update,Copy,Synchronize,Synchronise,Render,Process">
<If numArgs="1" desc="%sName:SCase:Plural% the given %argName1%"/>
<Set desc="%sName:SCase:Plural% this %object%"/>
</If>
<If sName="Send,Post" desc="%namenp:SCase% this message"/>
<If sName="Display">
<If numArgs="1" desc="%sName:SCase%s the given %argName1%"/>
<Set desc="%sName:SCase%s this %object%"/>
</If>
<If numArgs="0">
<If retType="bool,boolean" desc="%namenp:Plural:Sentence:SCase% this %object%"/>
<IfNot retType="void" desc="Gets the %SName:LCase%"/>
<Set desc="%namenp:Plural:Sentence:SCase% this %object%"/>
</If>
<If argName1="file,fname,path,file#,path#" desc="%sName:Plural:SCase% the given file"/>
<If argName1="uri,url" desc="%sName:Plural:SCase% the given document"/>
<If numArgs="1">
<If argType1="bool,boolean,int,float,double,string,#Exception"
desc="%namenp:Plural:Sentence:SCase%"/>
<Set desc="%sName:Plural:SCase% the given %argName1:Sentence:LCase%"/>
</If>
<Set desc="%namenp:Plural:Sentence:SCase%"/>
</If>
<If numArgs="0">
<If retType="bool,boolean" desc="Determines if we can %namenp:Sentence:LCase%"/>
<IfNot retType="void" desc="Gets the %SName:LCase%"/>
</If>
<Set desc="%sName:SCase%"/>
</Methods>
<MethodReturns> <!-- prefix="%containingClass% returns "> -->
<!-- Rules used for method/property return values
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
Additional values that can be used for filtering/documenting include:
name The name of the method owning the return type
sName The name of the method, converted to sentence (space separated words) format, with abbreviated words expanded
methodName The name of the method
methodType The type of the method (one of: method, property, indexer, delegate)
numArgs The numbe rof arguments to the method
argTypeN The type of argument 'N' (1, 2, 3...)
argTypeBaseN The type of argument 'N' (1, 2, 3...)
argNameN The name of argument 'N' (1, 2, 3...)
type The return type for the method ("const int*") (without a namespace)
typeBase The return type for the method, not including any modifiers ("int")
retType The return type for the method, including namespace if supplied (witout a namespace)
retTypeBase The return type for the method, not including any modifiers, with namespace
isPointer "y" or "n", indicating if the return type includes a "*"
isReference "y" or "n", indicating if the return type includes an "&" or "ref"
-->
<If sName="Minimum,Maximum,Average,Median,Mean" desc="The %sname:LCase% value"/>
<If methodType="method">
<If sName="To #">
<If name="ToString" desc="A %retType% that represents this %object%"/>
<If name="ToBinary" desc="A binary represenation of this %object%"/>
<If name="ToArray" desc="An array that represents the data in this %object%"/>
<If numArgs="0" desc="This %object% as a %retType%"/>
<If numArgs="1" desc="%argName1% as a %retType%"/>
<Set desc="The given data converted to a %retType%"/>
</If>
<If name="GetHashCode" desc="A hash code for this %object%"/>
<If isPointer="y">
<If retType="#^" continue="y" desc="nullptr if it fails, else "/>
<IfNot retType="#^" continue="y" desc="null if it fails, else "/>
</If>
<If retType="IEnumerable#">
<If sname="Get By #,Get #,Fetch #,List #,Enumerate #,Scan #,Traverse #,Find By #,Find On #,Find #,Search By #,Search On #,Search For #,Search #">
<If sname="# All" desc="An enumerator that allows foreach to be used to process all items in this collection"/>
<If sname="# All #" desc="An enumerator that allows foreach to be used to process all %match2:StripGen:Sentence:Plural:LCase% in this collection"/>
<Set desc="An enumerator that allows foreach to be used to process the %match:StripGen:Sentence:Plural:LCase% in this collection"/>
</If>
<If sname="Get,Fetch,List,Enumerate,Scan,Traverse,Find,Search" desc="An enumerator that allows foreach to be used to process the matched items"/>
<Set desc="An enumerator that allows foreach to be used to process %sname:StripGen:LCase% in this collection"/>
</If>
<If retType="bool,boolean">
<If sName="Contains" desc="true if the object is in this collection, false if not"/>
<If sname="is # registered,is # active,is # inactive,is # enabled,is # disabled,is # empty,is # open,is # closed,is # available,is # online,is # offline"
desc="true if a %match:LCase% is %name:lastWord:LCase%, false if not"/>
<If sName="Equals" desc="true if the objects are considered equal, false if they are not"/>
<If sName="Is #,Has #,Are #" desc="true if %match:Sentence:LCase%, false if not"/>
<If sname="Can #,Allow #" desc="true if we %sname:firstWord:lcase% %match:LCase%, false if not"/>
<If sName="Test #,# Test" desc="true if the test passes, false if the test fails"/>
<If sName="Matches #,Equals #" desc="true if %sName:LCase%, false if not"/>
<Set desc="true if it succeeds, false if it fails"/>
</If>
<If sname="Create #">
<If type="#[]" desc="A new array of %match:Sentence:LCase%"/>
<Set desc="The new %match:Sentence:LCase%"/>
</If>
<If sName="Clone,Duplicate" desc="A copy of this %object%"/>
<If sName="Pop" desc="The previous top-of-stack object"/>
<If sName="Peek" desc="The current top-of-stack object"/>
<If sName="Dequeue,De Queue" desc="The head object from this queue"/>
<If sName="Compare To" desc="Negative if this %object% is less than the other, 0 if they are equal, or positive if this is greater"/>
<If sName="Compare" desc="Negative if '%argName1%' is less than '%argName2%', 0 if they are equal, or positive if it is greater"/>
<If sName="Format" desc="The formatted value"/>
<If sName="Format #" desc="The formatted %match:Sentence:LCase%"/>
<If sName="Sort" desc="The sorted values"/>
<If sName="Sort #" desc="The sorted %match:Sentence:LCase%"/>
<If sName="Extract #" desc="The extracted %match:Sentence:LCase%"/>
<If name="Main" desc="Exit-code for the process - 0 for success, else an error code"/>
<If name="OnInitDialog" desc="TRUE if the focus has been left alone, FALSE if it has been set into a control"/>
<If sname="Recalculate #,Calculate #,Get #,Compute #,Accumulate #">
<If sName="# Minimum,# Maximum,# Average,# Median,# Mean,# Range,# Standard deviation"
desc="The calculated %sname:StripFirstWord:LCase%"/>
</If>
<If sName="Get X #,Get Y #,Get Z #" desc="The %sName:LCase:StripFirstWord%"/>
<If sName="Get #,Fetch #,Return #,Query #,Read #,Load #,Generate #">
<If type="#[]" desc="An array of %match:Sentence:LCase%"/>
<Set desc="The %match:Sentence:LCase%"/>
</If>
<If sName="Find By #,Find On #,Find #,Search By #,Search On #,Search For #,Search #">
<If sName="Find First #,Find Next #,Find Previous #,Find Last #,Find Nearest #,Find Closest #,Find Furthest #,Find Farthest #,Find Newest #,Find Oldest #,Find Largest #,Find Biggest #,Find Smallest #,Find By #,Find On #,Find #,Search By #,Search On #,Search For #,Search #"
desc="The found %match:Sentence:LCase%"/>
<If sName="Find All #,Search For All #" desc="All found %match:Sentence:LCase%"/>
</If>
<If sName="Index of Any #,Last Index Of Any #,Index Of #,Last Index Of #"
desc="The zero-based index of the found %match:Sentence:LCase%, or -1 if no match was found"/>
<If sName="Recalculate #,Calculate #,Compute #,Accumulate #"
desc="The calculated %match:Sentence:LCase%"/>
<If sName="Convert To #">
<If numArgs="0" desc="%object% converted to a %match:Sentence:LCase%"/>
<Set desc="The given data converted to a %match:Sentence:LCase%"/>
</If>
<If sName="Convert #">
<If numArgs="0" desc="%object% converted to a %match:Sentence:LCase%"/>
<Set desc="The %match:FirstWord:LCase% converted %match:StripFirstWord:Sentence:LCase%"/>
</If>
<If retType="#List#,#Collection#" desc="A list of "/>
<If methodName="TotalOf#,Total#,NumberOf#,NumOf#,Number#,Num#,CountOf#,Count#,Sum#,SumOf#"
desc="The total number of %match:Sentence:LCase%"/>
<If retType="HANDLE,HGLOBAL,HLOCAL" desc="The handle of the "/>
<If retType="HWND" desc="The handle of the window"/>
<If retType="HMENU" desc="The handle of the menu"/>
<If retType="HEVENT" desc="The handle of the event"/>
<If retType="HKEY" desc="The handle of the registry key"/>
<If retType="HBITMAP" desc="The handle of the image"/>
<If retType="HBRUSH" desc="The handle of the brush"/>
<If retType="HTREEITEM" desc="The handle of the tree item"/>
<If retType="HCURSOR" desc="The handle of the cursor"/>
<Set desc="A %retType%"/> <!-- Assume the return type is more useful than a blank entry -->
</If>
<If methodType="property">
<If retType="bool,boolean">
<If sname="is # registered,is # active,is # inactive,is # enabled,is # disabled,is # empty,is # open,is # closed,is # available,is # online,is # offline"
desc="true if a %match:LCase% is %name:lastWord:LCase%, false if not"/>
<If methodName="Is#,Has#" desc="true if this %object% %methodName:Sentence:LCase%, false if not"/>
<If methodName="Are#,Can#,Should#,Must#"
desc="true if we %methodName:Sentence:LCase%, false if not"/>
<Set desc="true if %sName:LCase%, false if not"/>
</If>
<If methodName="TotalOf#,Total#,NumberOf#,NumOf#,Number#,Num#,CountOf#,Count#,Sum#,SumOf#"
desc="The total number of %match:Sentence:LCase%"/>
<If sName="default #" desc="The default %match:Sentence:LCase%"/>
<If sName="number of #,number #,# count" desc="The number of %match:Sentence:LCase:Plural%"/>
<If sName="size of #,# size" desc="The size of the %match:Sentence:LCase%"/>
<If sName="type of #,# type" desc="The type of the %match:Sentence:LCase%"/>
<If sName="# filename,# file name" desc="The filename of the %match:Sentence:LCase% file"/>
<If sName="# leafname,# leaf name" desc="The leafname of the %match:Sentence:LCase% file"/>
<If sName="directory name,directory,dir name,dirname,dir path,dirpath"
desc="The pathname of the directory"/>
<If sName="folder name,foldername,folder" desc="The pathname of the folder"/>
<If sName="# folder name,# folder" desc="The pathname of the %match:Sentence:LCase% folder"/>
<If sName="# directory name,# directory,# dir name,# dirname"
desc="The pathname of the %match:Sentence:LCase% directory"/>
<If sName="path,pathname,path name,file path, filepath"
desc="The full pathname of the file"/>
<If sName="# pathname,# path name,#file path,# path"
desc="The full pathname of the %match:Sentence:LCase% file"/>
<If sName="# information,# description,# data"
desc="Information describing the %match:Sentence:LCase%"/>
<If sName="# manifest" desc="A list of %match:Sentence:LCase:Plural%"/>
<If sName="# message" desc="A message describing the %match:Sentence:LCase%"/>
<If sName="# count" desc="The number of %match:Sentence:LCase:Plural%"/>
<If sName="# by">
<If retType="string" desc="Describes who %match:Sentence:LCase% this %object%"/>
<Set desc="Amount to %match:Sentence:LCase% by"/>
</If>
<If sName="step,increment" desc="The amount to increment by"/>
<If sName="# options,# parameters,# preferences"
desc="Options that control the %match:Sentence:LCase%"/>
<If sName="# unique identifier" desc="Unique identifier of the %match:Sentence:LCase%"/>
<If sName="date of #,# date,time of #,# time"
desc="The %sName:LCase%"/>
<If sName="# identifier,# length,# width,# height,# depth,# size,# extent,# extents,# name,# type,# color,# colour"
desc="The %sname:LastWord:LCase% of the %match:Sentence:LCase%"/>
<If sName="# identifiers,# lengths,# widths,# heights,# depths,# sizes,# names,# types,# colors,# colours,# dates,# times"
desc="A list of %sname:LastWord:LCase% of the %match:Sentence:LCase:Plural%"/>
<If sName="# identifier list,# length list,# width list,# height list,# depth list,# size list,# name list,# type list,# color list,# colour list,# date list,# time list"
desc="The %sname:StripLastWord:LastWord:LCase:Plural% of the %match:Sentence:LCase:Plural%"/>
<If sName="length of #,width of #,height of #,depth of #,size of #,extent of #,extents of #,name of #,type of #,color of #,colour of #"
desc="The %sname:FirstWord:SCase% of the %match:Sentence:LCase%"/>
<If sName="# buffer,# bucket" desc="A %sname:LastWord:SCase% for %match:Sentence:LCase% data"/>
<If sName="# list,# queue,# stack,# collection,# array,# dictionary"
desc="A %sname:LastWord:SCase% of %match:Sentence:LCase:Plural%"/>
<Set desc="The %methodName:Sentence:LCase%"/>
</If>
<If methodType="indexer">
<Set desc="The indexed item"/>
</If>
<If methodType="delegate">
<Set desc="A %retType%"/> <!-- Assume the return type is more useful than a blank entry -->
</If>
<If methodType="operator">
<If methodName="&lt;&lt;,&gt;&gt;" desc="The shifted result"/>
<If methodName="!" desc="The logical inverse of this value"/>
<If methodName="true" desc="true if this %object% is in a 'true' state, else false"/>
<If methodName="false" desc="true if this %object% is in a 'false' state, else false"/>
<If methodName="==" desc="true if the parameters are considered equivalent"/>
<If methodName="!=" desc="true if the parameters are not considered equivalent"/>
<If methodName="&lt;" desc="true if the first parameter is less than the second"/>
<If methodName="&lt;=" desc="true if the first parameter is less than or equal to the second"/>
<If methodName="&gt;" desc="true if the first parameter is greater than to the second"/>
<If methodName="&gt;=" desc="true if the first parameter is greater than or equal to the second"/>
<If methodName="-&gt;" desc="The dereferenced object"/>
<If name="[]" desc="The indexed value"/>
<If methodName="=" desc="A shallow copy of this %object%"/>
<If name="new" desc="The allocated object"/>
<If name="new[],new []" desc="The allocated array"/>
<Set desc="The result of the operation"/>
</If>
<!-- MVC support -->
<If name="ActionResult" desc="A value to send to the response stream"/>
<Set desc="A %retType%"/> <!-- Assume the return type is more useful than a blank entry -->
</MethodReturns>
<Parameters>
<!-- Rules used for parameters
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
Additional values that can be used for filtering/documenting include:
name The name of the parameter
sName The name of the parameter, converted to sentence (space separated words) format, with abbreviated words expanded
type The type of the parameter (const int*)
typeBase The type of the parameter, not including any modifiers (int)
index The 1-based index of the parameter within the method's parameter list
word1 The first word of the parameter (often used for prefixes, e.g. m_, lpsz, etc)
coreName The name with the first word removed (to allow processing of prefixed names)
isPointer "y" or "n", indicating if the parameter type includes a "*" or "^"
isReference "y" or "n", indicating if the parameter type includes an "&" or "ref"
isOut "y" or "n", indicating if the parameter type includes an "out"
isOptional "y" or "n", indicating if the parameter is optional
methodName The name of the method for which this is a parameter
numArgs The total number of arguments for the method
-->
<If type="#..." desc="Variable arguments providing " continue="y"/> <!-- Java varargs -->
<If type="this #" desc="The %name% to act on"/>
<If methodName="Main">
<If type="int" desc="Number of command-line arguments"/>
<Set desc="Array of command-line argument strings"/>
</If>
<!-- Augment the description for ref/out/pointer/optional parameters, and keep executing If commands -->
<If isOptional="y">
<If name="result,pResult,output,pOutput" isPointer="y"
desc="[out] %param-optional% If non-null, the result"/>
<IfNot type="const#,#const#">
<If isReference="y" continue="yes" desc="[in,out] %param-optional% "/>
<If isPointer="y" continue="yes" desc="[in,out] %param-optional% If non-null, "/>
</IfNot>
<If isOut="y" continue="yes" desc="[out] %param-optional% "/>
<Set continue="yes" desc="%param-optional% "/>
</If>
<If isOptional="n">
<If name="result,pResult" isPointer="y" desc="[out] If non-null, the result"/>
<IfNot type="const#,#const#">
<If isReference="y" continue="yes" desc="[in,out] "/>
<If isPointer="y" continue="yes" desc="[in,out] If non-null, "/>
</IfNot>
<If isOut="y" continue="yes" desc="[out] "/>
</If>
<If name="other">
<If methodName="Copy,Clone,Duplicate,Copy#,Clone#,Duplicate#"
desc="Another instance to copy"/>
<If methodName="Compare,Compare#" desc="Another instance to compare"/>
</If>
<If type="#EventArgs,EventArgs" methodName="On#,Raise#,Fire#,Signal#"
desc="Event information to send to registered event handlers"/>
<If type="bool,boolean">
<If methodName="Dispose" name="disposing" desc="true to release both managed and unmanaged resources; false to release only unmanaged resources"/>
</If>
<If methodName="Equals,Compare">
<If numArgs="1" desc="The %type:Sentence:LCase% to compare to this %object%"/>
<Set desc="%type:Sentence:SCase% to be compared"/>
</If>
<If methodName="CompareTo" desc="%type:Sentence:SCase% to compare to this"/>
<If numArgs="1">
<If methodName="AddRange" desc="A %type% of items to append to this"/>
<If methodName="Contains" desc="The %type% to test for containment"/>
<IfNot type="#const#">
<If methodName="Push,Pop,Peek,Add,Append,Remove,Destroy,Delete,Link,Unlink,Delink,Connect,Disconnect,Write,Save,Read,Load,Dump,Scan,Get,Put,Set,Fetch,Store,Return,Retrieve"
desc="The %sname% to %methodName:Sentence:LCase%"/>
</IfNot>
</If>
<!-- Parameters for binary operators -->
<If numArgs="2">
<If methodName="+">
<If index="1" desc="The first value"/>
<If index="2" desc="A value to add to it"/>
</If>
<If methodName="-">
<If index="1" desc="The first value"/>
<If index="2" desc="A value to subtract from it"/>
</If>
<If methodName="*">
<If index="1" desc="The first value to multiply"/>
<If index="2" desc="The second value to multiply"/>
</If>
<If methodName="/,%">
<If index="1" desc="The numerator"/>
<If index="2" desc="The denominator"/>
</If>
<If methodName="&amp;">
<If index="1" desc="A bitfield to process"/>
<If index="2" desc="A mask of bits to apply to the bitfield"/>
</If>
<If methodName="|">
<If index="1" desc="A bitfield to process"/>
<If index="2" desc="One or more bits to OR into the bitfield"/>
</If>
<If methodName="^">
<If index="1" desc="A bitfield to process"/>
<If index="2" desc="One or more bits to XOR against the bitfield"/>
</If>
<If methodName="&gt;,&lt;,&gt;=,&lt;=,==,!=">
<If index="1" desc="The first instance to compare"/>
<If index="2" desc="The second instance to compare"/>
</If>
</If>
<Execute rules="Variables"/> <!-- Execute the Variable documenting rules -->
</Parameters>
<TypeParameters>
<!-- Rules used for generic/template type parameters
Full documentation can be found here:
http://www.atomineerutils.com/rulesguide.php
Note that you can delete all the examples, and as long as this section does not
end with a <Set> command, Atomineer will "fall through" your custom rules and
use its defaults if your rules do not supply any documentation text.
Additional values that can be used for filtering/documenting include:
name The name of the type parameter
sName The name of the type parameter, converted to sentence (space separated words) format, with abbreviated words expanded
-->
<If name="T,T1,T2,T3,T4,U,V,I,J,K,X,Y,Z" desc="Generic type parameter"/>
<Set desc="Type of the %sName:LCase%"/>
</TypeParameters>
<WordExpansions>
<!--
Expansions for abbreviated single words. Must be in lowercase.
You can match several abbreviations for the same word by separating them with commas.
If you wish, you can use this feature to delete unwanted words (typically prefixes/suffixes).
Just set desc="-" for any matching entries you wish to remove from the documentation.
Note: Atomineer can only match one abbreviation, so in cases where two or more
meanings exist for one abbreviation (e.g. "doc" -> "document" or "delete on completion",
you either have to expand to one form (and get it wrong sometimes) or delete the expansion
entirely (and get it wrong always!). This is the reason why a few common abbreviations are
not expanded by default - there are several possoble expansions, and Atomineer has no
way of knowing which one is correct.
-->
<If name="a#">
<If name="acc" desc="accumulate"/>
<If name="acct" desc="account"/>
<If name="accts" desc="accounts"/>
<If name="ack" desc="acknowledge"/>
<If name="alg" desc="algorithm"/>
<If name="alt" desc="alternate"/>
<If name="adr,addr" desc="address"/>
<If name="adv" desc="advance"/>
<If name="agg" desc="aggregate"/>
<If name="alloc" desc="allocate"/>
<If name="alt" desc="alternate"/>
<If name="amt" desc="amount"/>
<If name="ang" desc="angle"/>
<If name="ani,anim" desc="animation"/>
<If name="app" desc="application"/>
<If name="arg" desc="argument"/>
<If name="ar" desc="archive"/>
<If name="args" desc="arguments"/>
<If name="arr,ary" desc="array"/>
<If name="asc" desc="ascending"/>
<If name="asm" desc="assembly"/>
<If name="assoc" desc="associated"/>
<If name="assy" desc="assembly"/>
<If name="async" desc="asynchronous"/>
<If name="attr,attrib" desc="attribute"/>
<If name="attrs,attribs" desc="attributes"/>
<If name="auth" desc="authentication"/>
<If name="auto" desc="automatic"/>
<If name="aux" desc="auxiliary"/>
<If name="avg" desc="average"/>
</If>
<If name="b#">
<If name="bal" desc="balance"/>
<If name="bak" desc="backup"/>
<If name="bdy" desc="boundary"/>
<If name="blk" desc="block"/>
<If name="bot" desc="bottom"/>
<If name="bbox" desc="bounding box"/>
<If name="bg,bgnd" desc="background"/>
<If name="bk,blk" desc="block"/>
<If name="buf,buff" desc="buffer"/>
<If name="bmp" desc="bitmap"/>
<If name="bpp" desc="bits per pixel"/>
<If name="br" desc="line break"/>
<If name="brg" desc="bearing"/>
<If name="brk" desc="break"/>
<If name="bn,btn" desc="button"/>
</If>
<If name="c#">
<If name="calc" desc="calculate"/>
<If name="cam" desc="camera"/>
<If name="cap" desc="capability"/>
<If name="caps" desc="capabilities"/>
<If name="cart" desc="cartesian"/>
<If name="cat" desc="category"/>
<If name="cats" desc="categories"/>
<If name="cbl" desc="cable"/>
<If name="cbo" desc="combobox"/>
<If name="ceil" desc="ceiling"/>
<If name="chk" desc="check"/>
<If name="chan,chnl" desc="channel"/>
<If name="char,chr" desc="character"/>
<If name="chars,chrs" desc="characters"/>
<If name="clist" desc="command list"/>
<If name="clk" desc="clock"/>
<If name="clr" desc="colour"/>
<If name="cmd" desc="command"/>
<If name="cmds" desc="commands"/>
<If name="cmn" desc="common"/>
<If name="cmp" desc="compare"/>
<If name="cmt" desc="comment"/>
<If name="coll" desc="collection"/>
<If name="coop" desc="cooperative"/>
<If name="comm,comms" desc="communications"/>
<If name="comp" desc="component"/>
<If name="compat" desc="compatible"/>
<If name="concat" desc="concatenate"/>
<If name="cond" desc="condition"/>
<If name="config,cfg" desc="configuration"/>
<If name="conn" desc="connection"/>
<If name="const" desc="constant"/>
<If name="cont" desc="container"/>
<If name="conv,cnv" desc="convert"/>
<If name="coord" desc="coordinate"/>
<If name="cos" desc="cosine"/>
<If name="cosh" desc="hyperbolic cosine"/>
<If name="cot" desc="cotangent"/>
<If name="cpy" desc="copy"/>
<If name="cfg" desc="configuration"/>
<If name="cm" desc="centimetres"/>
<If name="cmp" desc="compare"/>
<If name="cnt" desc="count"/>
<If name="cr" desc="carriage return"/>
<If name="crlf" desc="newline"/>
<If name="cs" desc="create struct"/>
<If name="csr,curs" desc="cursor"/>
<If name="ctor" desc="constructor"/>
<If name="ctr" desc="counter"/>
<If name="ctl,ctrl" desc="control"/>
<If name="ctls,ctrls" desc="controls"/>
<If name="ctx" desc="context"/>
<If name="cum" desc="cumulative"/>
<If name="cur" desc="current"/>
<If name="cust" desc="customer"/>
<If name="cyl" desc="cylinder"/>
</If>
<If name="d#">
<If name="db,dbase" desc="database"/>
<If name="dbl" desc="double"/>
<If name="dbg" desc="debug"/>
<If name="dbgr" desc="debugger"/>
<If name="dc,cdc" desc="device-context"/>
<If name="dec,decr" desc="decrement"/>
<If name="decl" desc="declaration"/>
<If name="def,defn" desc="definition"/>
<If name="deg,degs" desc="degrees"/>
<If name="del" desc="delete"/>
<If name="delim" desc="delimiter"/>
<If name="denom" desc="denominator"/>
<If name="deref" desc="dereference"/>
<If name="des,desc,descr" desc="description"/>
<If name="dest,dst" desc="destination"/>
<If name="dev" desc="development"/>
<If name="dsgn,dgn" desc="design"/>
<If name="dgram" desc="datagram"/>
<If name="dib" desc="bitmap"/>
<If name="diag,dgrm" desc="diagram"/>
<If name="dict" desc="dictionary"/>
<If name="diff" desc="difference"/>
<If name="dist" desc="distance"/>
<If name="dlg" desc="dialog"/>
<If name="dload" desc="download"/>
<If name="doc" desc="document"/>
<If name="docs" desc="documents"/>
<If name="dof" desc="degree of freedom"/>
<If name="drv,drvr" desc="driver"/>
<If name="dtor" desc="destructor"/>
<If name="dup" desc="duplicate"/>
<If name="dword" desc="double-word"/>
<If name="dyn" desc="dynamic"/>
</If>
<If name="e#">
<If name="elem,elt" desc="element"/>
<If name="elems,elts" desc="elements"/>
<If name="elim" desc="eliminate"/>
<If name="emu" desc="emulate"/>
<If name="enc" desc="encode"/>
<If name="env" desc="environment"/>
<If name="eor" desc="exclusive-or"/>
<If name="err" desc="error"/>
<If name="esc" desc="escape"/>
<If name="est" desc="estimate"/>
<If name="evt" desc="event"/>
<If name="ext" desc="extent"/>
<If name="exe" desc="executable"/>
<If name="exec" desc="execute"/>
<If name="exp" desc="exponent"/>
<If name="expr" desc="expression"/>
<If name="extn" desc="extension"/>
</If>
<If name="f#">
<If name="fg,fore" desc="foreground"/>
<If name="fld" desc="field"/>
<If name="flav" desc="flavor"/>
<If name="flt,fltr" desc="filter"/>
<If name="fmt" desc="format"/>
<If name="fnt" desc="font"/>
<If name="fn" desc="function"/>
<If name="fname" desc="filename"/>
<If name="frag" desc="fragment"/>
<If name="freq" desc="frequency"/>
<If name="frm" desc="form"/>
<If name="fs" desc="file system"/>
<If name="func" desc="function"/>
<If name="fw" desc="firmware"/>
<If name="fwd" desc="forward"/>
<If name="fx" desc="effects"/>
</If>
<If name="g#">
<If name="gb" desc="gigabytes"/>
<If name="gen" desc="generate"/>
<If name="geom" desc="geometry"/>
<If name="gfx" desc="graphics"/>
<If name="grad" desc="graduated"/>
<If name="grd" desc="grid"/>
<If name="gr" desc="graphics"/>
<If name="grp" desc="group"/>
<If name="gui" desc="graphical user interface"/>
<If name="guid" desc="unique identifier"/>
</If>
<If name="h#">
<If name="hdg" desc="heading"/>
<If name="hdr" desc="header"/>
<If name="heir" desc="heirarchy"/>
<If name="hdlr" desc="handler"/>
<If name="hex" desc="hexadecimal"/>
<If name="hnd,hndl" desc="handle"/>
<If name="horz" desc="horizontal"/>
<If name="ht" desc="height"/>
<If name="hw" desc="hardware"/>
<If name="hyp" desc="hyperbolic"/>
</If>
<If name="i#">
<If name="ico" desc="icon"/>
<If name="id,ident" desc="identifier"/>
<If name="ids,idents" desc="identifiers"/>
<If name="idx" desc="index"/>
<If name="iface" desc="interface"/>
<If name="img" desc="image"/>
<If name="impl" desc="implementation"/>
<If name="inc,incr" desc="increment"/>
<If name="incl" desc="include"/>
<If name="info" desc="information"/>
<If name="init,ini" desc="initialise"/>
<If name="inits" desc="initialises"/>
<If name="ins" desc="insert"/>
<If name="inst" desc="instance"/>
<If name="inv" desc="inverse"/>
<If name="io" desc="I/O"/>
<If name="it,iter" desc="iterator"/>
<If name="ix" desc="index"/>
</If>
<If name="j#">
<If name="jit" desc="just-in-time"/>
<If name="jkt" desc="jacket"/>
<If name="jmp" desc="jump"/>
</If>
<If name="k#">
<If name="kb" desc="kilobytes"/>
<If name="kbd" desc="keyboard"/>
<If name="kilos,kg,kgs" desc="kilograms"/>
<If name="km,kms" desc="kilometres"/>
<If name="kmh" desc="kilometres per hour"/>
</If>
<If name="l#">
<If name="lang" desc="language"/>
<If name="lbl" desc="label"/>
<If name="lcase" desc="lowercase"/>
<If name="lb" desc="pound"/>
<If name="lbs" desc="pounds"/>
<If name="loc,locn" desc="location"/>
<If name="ldr" desc="loader"/>
<If name="len" desc="length"/>
<If name="lerp" desc="linearly interpolate"/>
<If name="lf" desc="line feed"/>
<If name="lim" desc="limit"/>
<If name="lims" desc="limits"/>
<If name="ln" desc="line"/>
<If name="lnk" desc="link"/>
<If name="lp" desc="pointer to a"/>
<If name="lhs" desc="left hand side"/>
<If name="lib" desc="library"/>
<If name="lst" desc="list"/>
<If name="lvl,lev" desc="level"/>
<If name="lyr" desc="layer"/>
</If>
<If name="m#">
<If name="mat" desc="matrix"/>
<If name="math,maths" desc="mathematics"/>
<If name="mb" desc="megabytes"/>
<If name="mbox" desc="mailbox"/>
<If name="mdl" desc="model"/>
<If name="mgr,man,mngr" desc="manager"/>
<If name="mgt,mgmt" desc="management"/>
<If name="max" desc="maximum"/>
<If name="mem" desc="memory"/>
<If name="med" desc="median"/>
<If name="mid" desc="middle"/>
<If name="millisecs" desc="milliseconds"/>
<If name="min" desc="minimum"/>
<If name="mm" desc="millimetres"/>
<If name="mod" desc="modifier"/>
<If name="mon,mntr" desc="monitor"/>
<If name="ml" desc="miles"/>
<If name="mph" desc="miles per hour"/>
<If name="ms" desc="milliseconds"/>
<If name="mtbf" desc="mean time between failures"/>
<If name="msg,mesg" desc="message"/>
<If name="mtg" desc="meeting"/>
<If name="mtl" desc="material"/>
<If name="mult" desc="multiply"/>
<If name="mux" desc="multiplexer"/>
</If>
<If name="n#">
<If name="nav" desc="navigaiton"/>
<If name="nc" desc="non-client"/>
<If name="neg" desc="negative"/>
<If name="nl,newl" desc="newline"/>
<If name="norm" desc="normalise"/>
<If name="num,nbr" desc="number"/>
<If name="nxt" desc="next"/>
</If>
<If name="o#">
<If name="obj" desc="object"/>
<If name="objs" desc="objects"/>
<If name="oct" desc="octal"/>
<If name="ofd" desc="open file dialog"/>
<If name="op" desc="operation"/>
<If name="opd,opnd" desc="operand"/>
<If name="oper,opr" desc="operator"/>
<If name="opt" desc="option"/>
<If name="opts" desc="options"/>
<If name="ord" desc="order"/>
<If name="org" desc="organisation"/>
<If name="orig" desc="original"/>
<If name="os" desc="operating system"/>
<If name="ownr" desc="owner"/>
</If>
<If name="p#">
<If name="pal" desc="palette"/>
<If name="param,parm" desc="parameter"/>
<If name="params,parms" desc="parameters"/>
<If name="ptn,partn" desc="partition"/>
<If name="pat,patt" desc="pattern"/>
<If name="pats,patts" desc="patterns"/>
<If name="pbm" desc="portable bitmap"/>
<If name="perm" desc="permission"/>
<If name="perms" desc="permissions"/>
<If name="perf" desc="performance"/>
<If name="pg" desc="page"/>
<If name="phys" desc="physical"/>
<If name="pic" desc="picture"/>
<If name="pkg" desc="package"/>
<If name="pkt" desc="packet"/>
<If name="pkts" desc="packets"/>
<If name="plist" desc="point list"/>
<If name="pos,posn" desc="position"/>
<If name="poly" desc="polygon"/>
<If name="pred" desc="predicate"/>
<If name="pref" desc="preference"/>
<If name="prefs" desc="preferences"/>
<If name="precond" desc="precondition"/>
<If name="premult" desc="pre-multiply"/>
<If name="prev" desc="previous"/>
<If name="prim" desc="primitive"/>
<If name="prims" desc="primitives"/>
<If name="prod" desc="product"/>
<If name="prods" desc="products"/>
<If name="proj,prj" desc="project"/>
<If name="prop" desc="property"/>
<If name="props" desc="properties"/>
<If name="proto" desc="prototype"/>
<If name="pt,pnt" desc="point"/>
<If name="pth" desc="path"/>
<If name="ptp,p2p" desc="peer-to-peer"/>
<If name="pts" desc="points"/>
<If name="ptr" desc="pointer"/>
<If name="pw,pwd" desc="password"/>
<If name="pwr" desc="power"/>
</If>
<If name="q#">
<If name="q" desc="quarter"/>
<If name="quat" desc="quaternion"/>
<If name="quest" desc="question"/>
<If name="qword" desc="quad-word"/>
<If name="qy,qry" desc="query"/>
</If>
<If name="r#">
<If name="rad,rads" desc="radians"/>
<If name="rbn" desc="ribbon"/>
<If name="rc,rct,rect" desc="rectangle"/>
<If name="recv,rcv" desc="receive"/>
<If name="rcvr" desc="receiver"/>
<If name="rdo" desc="radio"/>
<If name="rdr" desc="reader"/>
<If name="rec" desc="record"/>
<If name="recip" desc="reciprocal"/>
<If name="recs" desc="records"/>
<If name="recd" desc="received"/>
<If name="ref" desc="reference"/>
<If name="refs" desc="references"/>
<If name="reg" desc="register"/>
<If name="regex,regexp" desc="regular expression"/>
<If name="reinit" desc="reinitialise"/>
<If name="recalc" desc="recalculate"/>
<If name="reconn" desc="reconnect"/>
<If name="rel" desc="relative"/>
<If name="res,rsrc" desc="resource"/>
<If name="resn" desc="reservation"/>
<If name="rev" desc="reverse"/>
<If name="rgn" desc="region"/>
<If name="rhs" desc="right hand side"/>
<If name="rnd,rand" desc="random"/>
<If name="rng" desc="random number generator"/>
<If name="rm" desc="remove"/>
<If name="rpt" desc="repeat"/>
<If name="rq,req" desc="request"/>
<If name="rst" desc="reset"/>
<If name="rsvd" desc="reserved"/>
<If name="rt" desc="right"/>
<If name="rtn" desc="return"/>
<If name="rtns" desc="returns"/>
<If name="rvn" desc="revision"/>
<If name="rx" desc="receive"/>
<If name="rxd" desc="receive data"/>
</If>
<If name="s#">
<If name="sc,scr,scrn" desc="screen"/>
<If name="sbar" desc="scrollbar"/>
<If name="scrl" desc="scroll"/>
<If name="sec" desc="security"/>
<If name="seg" desc="segment"/>
<If name="segs" desc="segments"/>
<If name="sel,seld" desc="selected"/>
<If name="secs" desc="seconds"/>
<If name="sep" desc="separator"/>
<If name="seps" desc="separators"/>
<If name="seq" desc="sequence"/>
<If name="seql" desc="sequential"/>
<If name="seqs" desc="sequences"/>
<If name="sfd" desc="save file dialog"/>
<If name="sht" desc="sheet"/>
<If name="sgnl,sig" desc="signal"/>
<If name="sigs" desc="signals"/>
<If name="sim" desc="simulation"/>
<If name="sin" desc="sine"/>
<If name="sinh" desc="hyperbolic sine"/>
<If name="sln,seln" desc="selection"/>
<If name="snd" desc="sound"/>
<If name="sndr" desc="sender"/>
<If name="soln" desc="solution"/>
<If name="spd" desc="speed"/>
<If name="sph" desc="sphere"/>
<If name="spec" desc="specifier"/>
<If name="src" desc="source"/>
<If name="std" desc="standard"/>
<If name="stmt" desc="statement"/>
<If name="str" desc="string"/>
<If name="struct" desc="structure"/>
<If name="subdiv" desc="subdivide"/>
<If name="subst" desc="substitute"/>
<If name="succ" desc="successor"/>
<If name="svr,srv,srvr" desc="server"/>
<If name="sw" desc="software"/>
<If name="sym" desc="symbol"/>
<If name="sync,synch" desc="synchronise"/>
<If name="syncs,synchs" desc="synchronises"/>
<If name="sys" desc="system"/>
<If name="sn" desc="serial number"/>
<If name="sz" desc="size"/>
</If>
<If name="t#">
<If name="tan" desc="tangent"/>
<If name="tanh" desc="hyperbolic tangent"/>
<If name="tb" desc="terabytes"/>
<If name="tbl" desc="table"/>
<If name="tbar,tbr" desc="toolbar"/>
<If name="tech" desc="technology"/>
<If name="temp,tmp" desc="temporary"/>
<If name="templ,tmpl" desc="template"/>
<If name="tfer" desc="transfer"/>
<If name="tgram" desc="telegram"/>
<If name="tm" desc="time"/>
<If name="tmr" desc="timer"/>
<If name="tol" desc="tolerance"/>
<If name="tot" desc="total"/>
<If name="tri" desc="triangle"/>
<If name="trunc" desc="truncate"/>
<If name="tst" desc="test"/>
<If name="tx" desc="transmit"/>
<If name="txd" desc="transmit data"/>
<If name="trans,txn" desc="transaction"/>
<If name="txt" desc="text"/>
</If>
<If name="u#">
<If name="ui" desc="user interface"/>
<If name="ucase" desc="uppercase"/>
<If name="udate,upd" desc="update"/>
<If name="util" desc="utility"/>
<If name="utils" desc="utilities"/>
</If>
<If name="v#">
<If name="val" desc="value"/>
<If name="var" desc="variable"/>
<If name="vars" desc="variables"/>
<If name="vec" desc="vector"/>
<If name="vel" desc="velocity"/>
<If name="ver,vsn,vrsn" desc="version"/>
<If name="vert" desc="vertical"/>
<If name="vol" desc="volume"/>
<If name="vtx" desc="vertex"/>
<If name="va" desc="variable arguments"/>
<If name="val" desc="value"/>
<If name="vm" desc="virtual memory"/>
<If name="vw" desc="view"/>
</If>
<If name="w#">
<If name="warn" desc="warning"/>
<If name="win,wnd" desc="window"/>
</If>
<If name="x#">
<If name="xfm,xform" desc="transform"/>
<If name="xmit" desc="transmit"/>
<If name="xmitter" desc="transmitter"/>
<If name="xor" desc="exclusive-or"/>
<If name="xref" desc="cross-reference"/>
<If name="xtn" desc="extension"/>
</If>
<If name="x" desc="x coordinate"/>
<If name="y" desc="y coordinate"/>
<If name="z" desc="z coordinate"/>
</WordExpansions>
<Prefixes>
<!--
Processing for removal of prefixes. Must be in lowercase.
These rules are only applied to the first word in a symbol made up of multiple words.
(Note that single-letter prefixes are automatically stripped, so don't need to be
explicitly included in these rules).
These rules should return desc="-" to strip out unwanted prefixes.
The default rules are based on typical MFC prefixes.
-->
<If name="sz,psz,lpsz,str,lpstr,lpcstr,us" desc="-"/>
<If name="lp,pp" desc="-"/>
<If name="dw,qw" desc="-"/>
<If name="si,li,ui,uc,uint,bool,fp" desc="-"/>
<If name="fn,st" desc="-"/>
<If name="ch,cb,ub,sb" desc="-"/>
<If name="afx,hwnd" desc="-"/>
<If name="rw,rg" desc="-"/>
<If name="bln,dbl,sng,lng,udt,vnt" desc="-"/>
</Prefixes>
<Replacements>
<!-- Replacements and Acronyms
Any (separate) word in an expanded variable (e.g. method or parameter name) that matches
the 'word' attribute will be replaced by the 'with' attribute, verbatim (including special
characters and case).
e.g
Html => HTML (a simple acronym)
cafe => Café (a custom special-character replacement)
atomineer => &lt;b&gt;Atomineer&lt;/b&gt; (always show atomineer in <b>bold</b>)
Note that "HtmlFile" will produce "HTML file" as Atomineer sees it as two distinct words,
but "htmlfile" will not, as it sees only the word "htmlfile" which doesn't match.
-->
<Replace word="3d" with="3D"/>
<Replace word="ac" with="AC"/>
<Replace word="acl" with="ACL"/>
<Replace word="adc" with="ADC"/>
<Replace word="ado" with="ADO"/>
<Replace word="adpcm" with="ADPCM"/>
<Replace word="adsl" with="ADSL"/>
<Replace word="ansi" with="ANSI"/>
<Replace word="api" with="API"/>
<Replace word="apr" with="APR"/>
<Replace word="argb" with="ARGB"/>
<Replace word="ascii" with="ASCII"/>
<Replace word="asp" with="ASP"/>
<Replace word="bcc" with="Bcc"/>
<Replace word="bios" with="BIOS"/>
<Replace word="bgr" with="BGR"/>
<Replace word="blob" with="BLOB"/>
<Replace word="bps" with="BPS"/>
<Replace word="bspline" with="B-Spline"/>
<Replace word="cc" with="Cc"/>
<Replace word="ccd" with="CCD"/>
<Replace word="cd" with="CD"/>
<Replace word="cgi" with="CGI"/>
<Replace word="cie" with="CIE"/>
<Replace word="cli" with="CLI"/>
<Replace word="clob" with="CLOB"/>
<Replace word="clut" with="CLUT"/>
<Replace word="clr" with="CLR"/>
<Replace word="cms" with="CMS"/>
<Replace word="cmyk" with="CMYK"/>
<Replace word="cpp" with="C++"/>
<Replace word="cps" with="CPS"/>
<Replace word="cpu" with="CPU"/>
<Replace word="cr" with="CR"/>
<Replace word="crc" with="CRC"/>
<Replace word="crt" with="CRT"/>
<Replace word="csharp" with="C#"/>
<Replace word="csg" with="CSG"/>
<Replace word="csv" with="CSV"/>
<Replace word="css" with="CSS"/>
<Replace word="d3d" with="D3D"/>
<Replace word="dac" with="DAC"/>
<Replace word="dbms" with="DBMS"/>
<Replace word="dc" with="DC"/>
<Replace word="dce" with="DCE"/>
<Replace word="dds" with="DDS"/>
<Replace word="dll" with="DLL"/>
<Replace word="dns" with="DNS"/>
<Replace word="dpi" with="DPI"/>
<Replace word="dsl" with="DSL"/>
<Replace word="dsp" with="DSP"/>
<Replace word="dtd" with="DTD"/>
<Replace word="dte" with="DTE"/>
<Replace word="dvd" with="DVD"/>
<Replace word="dvi" with="DVI"/>
<Replace word="ecc" with="ECC"/>
<Replace word="eob" with="EOB"/>
<Replace word="eof" with="EOF"/>
<Replace word="eol" with="EOL"/>
<Replace word="eor" with="EOR"/>
<Replace word="eos" with="EOS"/>
<Replace word="eps" with="EPS"/>
<Replace word="epos" with="EPOS"/>
<Replace word="exe" with="EXE"/>
<Replace word="faq" with="FAQ"/>
<Replace word="fft" with="FFT"/>
<Replace word="fifo" with="FIFO"/>
<Replace word="filo" with="FILO"/>
<Replace word="ftp" with="FTP"/>
<Replace word="fps" with="FPS"/>
<Replace word="fqdn" with="FQDN"/>
<Replace word="fs" with="FS"/>
<Replace word="fts" with="FTS"/>
<Replace word="fw" with="FW"/>
<Replace word="fs" with="FS"/>
<Replace word="gac" with="GAC"/>
<Replace word="gb" with="GB"/>
<Replace word="gc" with="GC"/>
<Replace word="gdi" with="GDI"/>
<Replace word="ghz" with="GHz"/>
<Replace word="gif" with="GIF"/>
<Replace word="gis" with="GIS"/>
<Replace word="glut" with="GLUT"/>
<Replace word="gmt" with="GMT"/>
<Replace word="gps" with="GPS"/>
<Replace word="gpu" with="GPU"/>
<Replace word="gsm" with="GSM"/>
<Replace word="gui" with="GUI"/>
<Replace word="guid" with="GUID"/>
<Replace word="hal" with="HAL"/>
<Replace word="hci" with="HCI"/>
<Replace word="hd" with="HD"/>
<Replace word="hdd" with="HDD"/>
<Replace word="hdmi" with="HDMI"/>
<Replace word="hdr" with="HDR"/>
<Replace word="hid" with="HID"/>
<Replace word="hkcu" with="HKCU"/>
<Replace word="hkcr" with="HKCR"/>
<Replace word="hklm" with="HKLM"/>
<Replace word="hls" with="HLS"/>
<Replace word="hpu" with="HPU"/>
<Replace word="hq" with="HQ"/>
<Replace word="html" with="HTML"/>
<Replace word="http" with="HTTP"/>
<Replace word="https" with="HTTPS"/>
<Replace word="hud" with="HUD"/>
<Replace word="hw" with="HW"/>
<Replace word="hz" with="Hz"/>
<Replace word="icmp" with="ICMP"/>
<Replace word="id" with="ID"/>
<Replace word="ide" with="IDE"/>
<Replace word="ie" with="IE"/>
<Replace word="imap" with="IMAP"/>
<Replace word="ins" with="INS"/>
<Replace word="ioc" with="IOC"/>
<Replace word="ip" with="IP"/>
<Replace word="ipv" with="IPv"/>
<Replace word="irq" with="IRQ"/>
<Replace word="iso" with="ISO"/>
<Replace word="json" with="JSON"/>
<Replace word="jpg" with="JPEG"/>
<Replace word="jpeg" with="JPEG"/>
<Replace word="kb" with="kB"/>
<Replace word="khz" with="kHz"/>
<Replace word="lan" with="LAN"/>
<Replace word="lcd" with="LCD"/>
<Replace word="ldap" with="LDAP"/>
<Replace word="led" with="LED"/>
<Replace word="lifo" with="LIFO"/>
<Replace word="lilo" with="LILO"/>
<Replace word="lf" with="LF"/>
<Replace word="lod" with="LOD"/>
<Replace word="lru" with="LRU"/>
<Replace word="lsb" with="LSB"/>
<Replace word="lsd" with="LSD"/>
<Replace word="lut" with="LUT"/>
<Replace word="mac" with="MAC"/>
<Replace word="mapi" with="MAPI"/>
<Replace word="mb" with="MB"/>
<Replace word="mbcs" with="MBCS"/>
<Replace word="mdi" with="MDI"/>
<Replace word="mef" with="MEF"/>
<Replace word="mfc" with="MFC"/>
<Replace word="mfu" with="MFU"/>
<Replace word="mhz" with="MHz"/>
<Replace word="midi" with="MIDI"/>
<Replace word="mpg" with="MPG"/>
<Replace word="mpeg" with="MPEG"/>
<Replace word="mru" with="MRU"/>
<Replace word="msb" with="MSB"/>
<Replace word="msd" with="MSD"/>
<Replace word="msie" with="MSIE"/>
<Replace word="mtu" with="MTU"/>
<Replace word="nan" with="NaN"/>
<Replace word="nat" with="NAT"/>
<Replace word="nic" with="NIC"/>
<Replace word="nl" with="NL"/>
<Replace word="nt" with="NT"/>
<Replace word="ntfs" with="NTFS"/>
<Replace word="ntsc" with="NTSC"/>
<Replace word="nurbs" with="NURBS"/>
<Replace word="ocr" with="OCR"/>
<Replace word="odbc" with="ODBC"/>
<Replace word="oem" with="OEM"/>
<Replace word="olap" with="OLAP"/>
<Replace word="ole" with="OLE"/>
<Replace word="oo" with="OO"/>
<Replace word="orm" with="ORM"/>
<Replace word="os" with="OS"/>
<Replace word="osd" with="OSD"/>
<Replace word="pal" with="PAL"/>
<Replace word="pc" with="PC"/>
<Replace word="pci" with="PCI"/>
<Replace word="pcie" with="PCI-E"/>
<Replace word="pcl" with="PCL"/>
<Replace word="pcm" with="PCM"/>
<Replace word="pcmcia" with="PCMCIA"/>
<Replace word="pda" with="PDA"/>
<Replace word="pdf" with="PDF"/>
<Replace word="pdt" with="PDT"/>
<Replace word="pdu" with="PDU"/>
<Replace word="php" with="PHP"/>
<Replace word="pid" with="PID"/>
<Replace word="pidl" with="PIDL"/>
<Replace word="plc" with="PLC"/>
<Replace word="png" with="PNG"/>
<Replace word="pop" with="POP"/>
<Replace word="pos" with="POS"/>
<Replace word="ppi" with="PPI"/>
<Replace word="ppp" with="PPP"/>
<Replace word="rad" with="RAD"/>
<Replace word="raid" with="RAID"/>
<Replace word="rgb" with="RGB"/>
<Replace word="rgba" with="RGBA"/>
<Replace word="rle" with="RLE"/>
<Replace word="rov" with="ROV"/>
<Replace word="rpc" with="RPC"/>
<Replace word="rs" with="RS"/>
<Replace word="rss" with="RSS"/>
<Replace word="rtc" with="RTC"/>
<Replace word="rtf" with="RTF"/>
<Replace word="rtl" with="RTL"/>
<Replace word="rts" with="RTS"/>
<Replace word="sata" with="SATA"/>
<Replace word="sd" with="SD"/>
<Replace word="sdi" with="SDI"/>
<Replace word="sku" with="SKU"/>
<Replace word="soap" with="SOAP"/>
<Replace word="scsi" with="SCSI"/>
<Replace word="si" with="SI"/>
<Replace word="sid" with="SID"/>
<Replace word="simd" with="SIMD"/>
<Replace word="sms" with="SMS"/>
<Replace word="smtp" with="SMTP"/>
<Replace word="spu" with="SPU"/>
<Replace word="sql" with="SQL"/>
<Replace word="srgb" with="sRGB"/>
<Replace word="ssd" with="SSD"/>
<Replace word="sse" with="SSE"/>
<Replace word="ssh" with="SSH"/>
<Replace word="ssid" with="SSID"/>
<Replace word="stl" with="STL"/>
<Replace word="tb" with="TB"/>
<Replace word="tcl" with="TCL"/>
<Replace word="tcp" with="TCP"/>
<Replace word="tcpip" with="TCP/IP"/>
<Replace word="tcu" with="TCU"/>
<Replace word="tfs" with="TFS"/>
<Replace word="tif" with="TIF"/>
<Replace word="tiff" with="TIFF"/>
<Replace word="tls" with="TLS"/>
<Replace word="tms" with="TMS"/>
<Replace word="toc" with="TOC"/>
<Replace word="tod" with="TOD"/>
<Replace word="tos" with="TOS"/>
<Replace word="tp" with="TP"/>
<Replace word="ttl" with="TTL"/>
<Replace word="tty" with="TTY"/>
<Replace word="tv" with="TV"/>
<Replace word="ua" with="UA"/>
<Replace word="uac" with="UAC"/>
<Replace word="udp" with="UDP"/>
<Replace word="ugc" with="UGC"/>
<Replace word="ui" with="UI"/>
<Replace word="uid" with="UID"/>
<Replace word="uml" with="UML"/>
<Replace word="urd" with="URD"/>
<Replace word="uri" with="URI"/>
<Replace word="url" with="URL"/>
<Replace word="urn" with="URN"/>
<Replace word="usb" with="USB"/>
<Replace word="usn" with="USN"/>
<Replace word="ut" with="UT"/>
<Replace word="utc" with="UTC"/>
<Replace word="utf" with="UTF"/>
<Replace word="ux" with="UX"/>
<Replace word="vb" with="VB"/>
<Replace word="vba" with="VBA"/>
<Replace word="vga" with="VGA"/>
<Replace word="voip" with="VoIP"/>
<Replace word="vram" with="VRAM"/>
<Replace word="vrml" with="VRML"/>
<Replace word="wan" with="WAN"/>
<Replace word="wav" with="WAV"/>
<Replace word="wifi" with="WiFi"/>
<Replace word="wcf" with="WCF"/>
<Replace word="wip" with="WIP"/>
<Replace word="wlan" with="WLAN"/>
<Replace word="wma" with="WMA"/>
<Replace word="wpf" with="WPF"/>
<Replace word="www" with="WWW"/>
<Replace word="xaml" with="XAML"/>
<Replace word="xdk" with="XDK"/>
<Replace word="xls" with="XLS"/>
<Replace word="xlsx" with="XLSX"/>
<Replace word="xml" with="XML"/>
<Replace word="xoff" with="XOFF"/>
<Replace word="xon" with="XON"/>
<Replace word="xor" with="XOR"/>
<Replace word="xp" with="XP"/>
<Replace word="xsd" with="XSD"/>
<Replace word="xsl" with="XSL"/>
<Replace word="xslt" with="XSLT"/>
<Replace word="xss" with="XSS"/>
<Replace word="ytd" with="YTD"/>
</Replacements>
</AutoDoc>
<Conversions>
<!--
Doc-comment Conversion Rules
============================
Atomineer is capable of converting between different comment styles/skins and also
between DocXML, Doxygen and JavaDoc comment formats. These conversions can be improved
and controlled by the rules below.
[Note that at this time, the primary conversion process that is supported is Doxygen/JavaDoc
to DocXML, simply because there has so far been no demand to convert DocXML the other way.
However, basic conversions are already in place to convert from DocXml if required. Please
email support@atomineerutils.com if you encounter any markup that is not converted well,
and where possible we will try to upgrade Atomineer to support your conversion needs]
To convert between Doc Comment styles/formats, you may do any of the following:
1) To convert between different block format "skins", set the Alt-Separator, Alt-LineHeader
and Alt-SeparatorB preferences in your Prefs.xml so that Atomineer knows what the
'old' comment format looks like. (See the User Manual for details)
2) Set your Doxygen or DocXML templates up to indicate the 'legal' entries in your new comment
format, and how they should be ordered within the new comment block. Any entries that have
the same tag in both old and new formats (e.g. param -> param) will be automatically
'converted' (reformatted in the new style). Any entries that are not considered 'legal'
by Atomineer will be marked as 'deleted' with a ### prefix.
3) Common Doxygen/DocXml markup is automatically converted.
e.g. \c ClassName -> <see cref="ClassName"/>
\code ... \endcode -> <code> ... </code>
4) Where an old entry should be removed entirely, add an entry like this within this
<Conversions> section:
<ingroup convertTo=""/> - delete all '\ingroup' entries
5) Where an old entry needs to be renamed, add an entry like this:
<author convertTo="programmer"/> - convert all '<author>' entries to '@programmer'
6) A special pair of commands can be used to convert simple plain-text lists into a set of tags, e.g.
e.g. To convert:
@references
- \c MyClass
- \c BaseClass
into a set of separate entries, you can use two forms:
<references convertEachLineTo="seealso cref" stripPrefix="-" /> will produce:
<seealso cref='MyClass'/>
<seealso cref='BaseClass'/>
<references convertEachLineTo="seealso" stripPrefix="- \c" /> will produce:
<seealso>MyClass</seealso>
<seealso>BaseClass</seealso>
-->
</Conversions>
<Preprocess>
<!--
Macro-based preprocessing rules
===============================
[Please note: Macros are not supported by Visual Studio from version 11 (2012) onwards]
When replacing an existing DocComment, Atomineer can optionally call a user-defined
Visual Studio macro to allow the comment to be pre-processed. This allows legacy comments
to be parsed and converted into a DocXml or Doxygen format to allow Atomineer to
read the old documentation and convert it into the configured format. In addition, a
conversion process can be executed on any code following the comment (for example,
extracting end-of-line parameter comments and inserting them into the existing comment
block).
To use this preprocessor, set up the Alternate separator and line-header preferences
to match the legacy comment style, and enter the full name of the macro you wish to
execute here.
When Atomineer finds an existing comment during execution of 'Add Doc Comment', it
will set the ActiveDocument's selection to the comment text (including the top and bottom
separators) and then call this macro before it processes the comment text. You Macro can
therefore parse and update the comment to be in a roughly Atomineer-compatible format,
so that Atomineer can complete the conversion to your currently configured format.
Note: It is recommended that you only enable this feature while converting old comments,
and then disable it in normal use, as it slows down comment processing and causes a
flashing effect in your document as the text is selected and deselected.
-->
<!-- <ConvertComment macro="Macros.AtomineerUtils.Custom.ConvertExistingComment"/> -->
<!--
Regular expression preprocessing rules
======================================
In certain circumstances, Atomineer will apply a list of .Net regular expression
replacements to text strings as a preprocessing step. This can be used to "tidy up"
text before the auto-doc engine acts on it, to help Atomineer parse it better
(a typical use is to replace in-house types, typedefs or Macros that Atomineer
doesn't understand with something simpler, so that Atomineer handles them better)
Each <Replace> element should supply pattern="" and replacement="" attributes, which
will be processed as the parameters to the .Net RegEx.Replace() method. If any change
is caused by the regex, then an option attribute continue="true|false" can be used
to allow or stop further regex replacements being made.
-->
<MethodDecl>
<!--
Preprocessing rules for Method declarations. The entire declaration
e.g. "static int MyMethod(int parameter)"
is passed through any .Net regular expression replacements specified below.
Examples: Replace a typedef/macro return type or parameter with a simple type.
<Replace pattern="OurTrueFalseType" replacement="bool" continue="true"/>
<Replace pattern="OUR_TYPE\(bool\)" replacement="bool" continue="true"/>
-->
</MethodDecl>
</Preprocess>
</Rules>