]> git.sesse.net Git - xml-template/blobdiff - c++0x/xml-template.h
Make the C++0x syntax a lot more concise using initializer lists.
[xml-template] / c++0x / xml-template.h
index afd688a6a6dc0e76c8f9fda48a553db4fa3b4191..f0da0b8b0cdd1d007aca0b35f2b33457b2d47c3b 100644 (file)
@@ -25,6 +25,7 @@ class Replace : public Directive {
 class Clone : public Directive {
  public:
        Clone(const std::vector<Directive *> &subdirectives);
+       Clone(std::initializer_list<Directive *> subdirectives);
        virtual void process(xmlNode *node, bool clean);
 
  private:
@@ -34,11 +35,12 @@ class Clone : public Directive {
 class Substitute : public Directive {
  public:
        Substitute(const std::unordered_map<std::string, Directive*> &substitution_map);
+       Substitute(std::initializer_list<std::pair<const std::string, Directive*>> substitution_map);
 
        virtual void process(xmlNode *node, bool clean);
 
  private:
-       const std::unordered_map<std::string, Directive*> &substitution_map;
+       const std::unordered_map<std::string, Directive*> substitution_map;
 };
 
 void process_file(const std::string &input_filename,