<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
-->
<filedef name="header">
<filepath>$(filepath)</filepath>
<extension>.hpp</extension>
<root>$(root)</root>
<ignoreobjects>$(ignoreobjects)</ignoreobjects>
<blocks>
<namespace name="namespacestart">
<context>start</context>
</namespace>
<namespace name="namespaceend">
<context>end</context>
</namespace>
<date name="date">
<format>%e-%b-%Y</format>
</date>
<stringmember name="classname">
<membername>classname</membername>
</stringmember>
<stringmember name="description">
<membername>description</membername>
</stringmember>
<stringmember name="superclassname">
<location>parent()</location>
<membername>classname</membername>
</stringmember>
<import href="../common/header/abstractmethods.xml"/>
<import href="../common/header/publicmethods.xml"/>
<import href="../common/header/privatemethods.xml"/>
<import href="../common/header/overridemethods.xml"/>
<import href="../common/header/virtualmethods.xml"/>
<import href="../common/header/memberincludes.xml"/>
<import href="../common/header/argincludes.xml"/>
<forwards name="globalforwards"/>
<forwards name="localforwards">
<local/>
</forwards>
<includes name="includes">
<otherclasses>$(ignoreobjects)</otherclasses>
<otherincludes>$(ignoreincludes)</otherincludes>
<language>C++</language>
</includes>
<foreach name="memberdefs">
<vector>members</vector>
<blocks>
<stringmember name="membername">
<membername>name</membername>
</stringmember>
<lookupobjectmember name="classname">
<location>root()</location>
<lookupmember>reftype</lookupmember>
<membername>classname</membername>
</lookupobjectmember>
<lookupobjectnamespace name="namespace">
<location>root()</location>
<lookupmember>reftype</lookupmember>
</lookupobjectnamespace>
<!--
-->
<lookupobjectmember name="enumeration">
<location>root()</location>
<lookupmember>enumeration</lookupmember>
<membername>classname</membername>
<objecttype>enumeration</objecttype>
</lookupobjectmember>
<typeimplfield name="cpptype">
<language>C++</language>
<field>typedecl</field>
</typeimplfield>
<text name="static">
<conditions>
<vectorhasany>
<vector>attributes</vector>
<condition>
<objecthasmemberequal>
<membername>name</membername>
<membervalue>global</membervalue>
</objecthasmemberequal>
</condition>
</vectorhasany>
</conditions>
<content>static </content>
</text>
<text name="memberdef">
<conditions>
<objecthasmemberequal>
<membername>reftype</membername>
<membervalue/>
</objecthasmemberequal>
</conditions>
<content>\t\static\cpptype _\membername;\n</content>
</text>
<text name="typedmemberdef">
<conditions>
<objecthasmemberequal>
<membername>reftype</membername>
<membervalue/>
<fail/>
</objecthasmemberequal>
</conditions>
<content>\t\static\cpptype<\namespace\classname> _\membername;\n</content>
</text>
</blocks>
<structure>\memberdef\typedmemberdef</structure>
</foreach>
<foreach name="memberinits">
<vector>members</vector>
<blocks>
<!--
-->
<stringmember name="membername">
<membername>name</membername>
</stringmember>
<lookupobjectmember name="enumeration">
<location>root()</location>
<lookupmember>enumeration</lookupmember>
<membername>classname</membername>
<objecttype>enumeration</objecttype>
</lookupobjectmember>
<typeimplfield name="cppinit">
<language>C++</language>
<field>initexpr</field>
</typeimplfield>
<text name="init">
<conditions>
<istypeimplfieldequal>
<language>C++</language>
<field>initexpr</field>
<value/>
<fail/>
</istypeimplfieldequal>
<vectorhasany>
<vector>attributes</vector>
<condition>
<objecthasmemberequal>
<membername>name</membername>
<membervalue>global</membervalue>
</objecthasmemberequal>
</condition>
<fail/>
</vectorhasany>
</conditions>
<content>,\n\t\(t)_\membername(\cppinit)</content>
</text>
</blocks>
<structure>\init</structure>
</foreach>
<text name="clonedef">
<conditions>
<isabstract>
<fail/>
</isabstract>
</conditions>
<content>\(t)virtual ph::common::object_base *clone(const std::string &name,\n\t\(t)ph::common::cloneable_object_context *context) const;\n</content>
</text>
<text name="copy">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<import url="common/hasanymembervisit.xml"/>
</condition>
</vectorhasany>
</conditions>
<content>\(t)void copy(const \classname &obj);\n</content>
</text>
<text name="memberaccept">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<import url="common/hasmembervisit.xml"/>
</condition>
</vectorhasany>
</conditions>
<content>\(t)virtual bool accept(ph::common::member_visitor *v);\n</content>
</text>
<text name="memberacceptinline">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<import url="common/hasmembervisit.xml"/>
</condition>
<fail/>
</vectorhasany>
</conditions>
<content>\(t)virtual bool accept(ph::common::member_visitor *v)\n\t\t{ return inherited::accept(v); }\n</content>
</text>
<text name="constmemberaccept">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<import url="common/hasmembervisit.xml"/>
</condition>
</vectorhasany>
</conditions>
<content>\(t)virtual bool accept(ph::common::const_member_visitor *v) const;\n</content>
</text>
<text name="constmemberacceptinline">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<import url="common/hasmembervisit.xml"/>
</condition>
<fail/>
</vectorhasany>
</conditions>
<content>\(t)virtual bool accept(ph::common::const_member_visitor *v) const\n\t\t{ return inherited::accept(v); }\n</content>
</text>
<text name="compositememberaccept">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<import url="common/hascompositemembervisit.xml"/>
</condition>
</vectorhasany>
</conditions>
<content>\(t)virtual bool accept(ph::common::object_visitor *v);\n</content>
</text>
<text name="compositememberacceptinline">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<import url="common/hascompositemembervisit.xml"/>
</condition>
<fail/>
</vectorhasany>
</conditions>
<content>\(t)virtual bool accept(ph::common::object_visitor *v)\n\t\t{ return inherited::accept(v); }\n</content>
</text>
<text name="constcompositememberaccept">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<import url="common/hascompositemembervisit.xml"/>
</condition>
</vectorhasany>
</conditions>
<content>\(t)virtual bool accept(ph::common::const_object_visitor *v) const;\n</content>
</text>
<text name="constcompositememberacceptinline">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<import url="common/hascompositemembervisit.xml"/>
</condition>
<fail/>
</vectorhasany>
</conditions>
<content>\(t)virtual bool accept(ph::common::const_object_visitor *v) const\n\t\t{ return inherited::accept(v); }\n</content>
</text>
<text name="nameobjectaccept">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<import url="common/hascompositemembervisit.xml"/>
</condition>
</vectorhasany>
</conditions>
<content>\(t)virtual bool accept(ph::common::object_name_visitor *v) const;\n</content>
</text>
<text name="nameobjectacceptinline">
<conditions>
<vectorhasany>
<vector>members</vector>
<condition>
<import url="common/hascompositemembervisit.xml"/>
</condition>
<fail/>
</vectorhasany>
</conditions>
<content>\(t)virtual bool accept(ph::common::object_name_visitor *v) const\n\t\t{ return inherited::accept(v); }\n</content>
</text>
</blocks>
<structure>\comment=on
See license.txt for license information.
\classname.hpp
Generated by tangle. Edit at your own risk!
\comment=off
#ifndef inc\uppercase=on\classname\uppercase=off
#define inc\uppercase=on\classname\uppercase=off
\includes
\memberincludes
\argincludes
\globalforwards
\namespacestart
\localforwards
class \classname : public \superclassname
{
protected:
typedef \superclassname inherited;
\memberdefs
public:
\classname(const std::string &type, const std::string &name) :
inherited(type, name)\memberinits
{};
\abstractmethods
\publicmethods
\overridemethods
\virtualmethods
\copy
\memberaccept\memberacceptinline
\constmemberaccept\constmemberacceptinline
\compositememberaccept\compositememberacceptinline
\constcompositememberaccept\constcompositememberacceptinline
\nameobjectaccept\nameobjectacceptinline
\clonedef
private:
\privatemethods
};
\namespaceend
#endif // inc\uppercase=on\classname\uppercase=off
</structure>
</filedef>