<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
-->
<enumfiledef name="enum_impl">
<filepath>$(filepath)</filepath>
<extension>_.cpp</extension>
<root>$(root)</root>
<ignoreobjects>$(ignoreobjects)</ignoreobjects>
<blocks>
<namespace name="namespace">
<identifier>$(lib_namespace)</identifier>
</namespace>
<date name="date">
<format>%e-%b-%Y</format>
</date>
<stringmember name="classname">
<membername>classname</membername>
</stringmember>
<foreach name="sets">
<vector>tokens</vector>
<blocks>
<stringmember name="id">
<membername>id</membername>
</stringmember>
<stringmember name="name">
<membername>name</membername>
</stringmember>
<text name="if">
<conditions>
<isfirst/>
</conditions>
<content>if</content>
</text>
<text name="elseif">
<conditions>
<isfirst>
<fail/>
</isfirst>
</conditions>
<content>else if</content>
</text>
</blocks>
<structure>\(t)\if\elseif (s == "\name")\n\t\t*_ref = \id;\n</structure>
</foreach>
<foreach name="gets">
<vector>tokens</vector>
<blocks>
<stringmember name="id">
<membername>id</membername>
</stringmember>
<stringmember name="name">
<membername>name</membername>
</stringmember>
</blocks>
<structure>\(t)case \id:\n\t\(t)return "\name";\n</structure>
</foreach>
</blocks>
<structure>\comment=on
See license.txt for license information.
\classname.cpp
Generated by tangle. Edit at your own risk!
\comment=off
#include "\classname.hpp"
#include "../cppxmlobj/reflect/member.hpp"
using namespace \namespace;
using namespace ph::reflect;
template <>
void other_member<\classname>::set(const std::string &s)
{
\sets
}
static std::string translate_\classname(\classname v)
{
switch (v)
{
\gets
default:
return "[unknown \classname]";
}
}
template <>
std::string other_member<\classname>::get() const
{
return translate_\classname(*_ref);
}
template <>
std::string const_other_member<\classname>::get() const
{
return translate_\classname(*_ref);
}
</structure>
</enumfiledef>