class Directive {
public:
+ virtual ~Directive();
virtual void process(xmlNode *node, bool clean) = 0;
};
public:
Clone(const std::vector<Directive *> &subdirectives);
Clone(std::initializer_list<Directive *> subdirectives);
+ ~Clone();
virtual void process(xmlNode *node, bool clean);
private:
public:
Substitute(const std::unordered_map<std::string, Directive*> &substitution_map);
Substitute(std::initializer_list<std::pair<const std::string, Directive*>> substitution_map);
+ ~Substitute();
virtual void process(xmlNode *node, bool clean);