<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<!--
// // See license.txt for license information. // // enum_impl.xml // // 4-Sep-2003 phamilton Created //
-->

<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>