33 virtual void begin(
const Xml_string&, Xml_attr) {}
35 virtual void end(
const Xml_string&) {}
36 virtual void chars(
const Xml_string&) {}
37 virtual void reset() {}
62 inline Digester* digester() {
return body->dig; }
63 inline void setDigester(
Digester* dig) { body->dig = dig; }
65 inline void begin(
const Xml_string& tag, Xml_attr attr)
66 { body->begin(tag, attr); }
67 inline void end(
const Xml_string& tag) { body->end(tag); }
68 inline void chars(
const Xml_string& data) { body->chars(data); }
78 if (--body->refs == 0)
83 if (body != other.body) {
84 if (--body->refs == 0)
120 template <
class Body,
class Arg1=Dummy,
class Arg2=Dummy,
class Arg3=Dummy,
class Arg4=Dummy,
class Arg5=Dummy>
127 MakeAction(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4) :
Action(
new Body(a1, a2, a3, a4)) {}
128 MakeAction(Arg1 a1, Arg2 a2, Arg3 a3, Arg4 a4, Arg5 a5) :
Action(
new Body(a1, a2, a3, a4, a5)) {}
142 virtual Type* eval(
Digester* dig_,
const Xml_string& tag, Xml_attr attr)
147 res = dig->template top<Type>();
152 virtual void end(
const Xml_string& ) { dig->pop(); }
164 Type* eval(
Digester* dig,
const Xml_string& tag, Xml_attr attr)
181 template <
class Body,
class Obj_Type,
class Arg1=Dummy,
class Arg2=Dummy,
class Arg3=Dummy>
Definition: actions.h:139
Definition: actions.h:161
Definition: actions.h:111
Definition: actions.h:182
Definition: digester.h:100
Definition: actions.h:121