desaxe::IdRef_body< Obj_Type > Class Template Reference
#include <simple_actions.h>


Public Member Functions | |
| IdRef_body () | |
| void | begin (const Xml_string &, Xml_attr attr) |
| void | end (const Xml_string &) |
Private Attributes | |
| std::vector< Mode > | stack |
Classes | |
| struct | Mode |
Detailed Description
template<class Obj_Type>
class desaxe::IdRef_body< Obj_Type >
This applies "id" and "idref" attributes to the object on top of the stack. In case of an "id" attribute, if there is no entry with this ID in the digester's storage, the topmost object is stored there. Otherwise the topmost object is replaced with the stored object. In case of an "idref" attribute, if there is no entry with this ID in the digester's storage, the topmost object is also stored there. Then the trigger "WithinIdRef" is set during begin() and the processing continues normally. When end() is called, the topmost object is replaced by the stored one (this will be a no-op if there wasnt an entry in storage before)
Definition at line 614 of file simple_actions.h.
Constructor & Destructor Documentation
| desaxe::IdRef_body< Obj_Type >::IdRef_body | ( | ) | [inline] |
Definition at line 617 of file simple_actions.h.
Member Function Documentation
| void desaxe::IdRef_body< Obj_Type >::begin | ( | const Xml_string & | , | |
| Xml_attr | attr | |||
| ) | [inline, virtual] |
Reimplemented from desaxe::Action_body.
Definition at line 619 of file simple_actions.h.
References desaxe::Action_body::dig, desaxe::Digester::pop(), desaxe::Digester::push(), desaxe::IdRef_body< Obj_Type >::stack, and desaxe::Digester::store().
| void desaxe::IdRef_body< Obj_Type >::end | ( | const Xml_string & | ) | [inline, virtual] |
Reimplemented from desaxe::Action_body.
Definition at line 662 of file simple_actions.h.
References desaxe::Action_body::dig, desaxe::IdRef_body< Obj_Type >::Mode::ID, desaxe::IdRef_body< Obj_Type >::Mode::isIdRef, desaxe::Digester::pop(), desaxe::Digester::push(), and desaxe::IdRef_body< Obj_Type >::stack.
Member Data Documentation
std::vector<Mode> desaxe::IdRef_body< Obj_Type >::stack [private] |
Definition at line 676 of file simple_actions.h.
Referenced by desaxe::IdRef_body< Obj_Type >::begin(), and desaxe::IdRef_body< Obj_Type >::end().
The documentation for this class was generated from the following file:
