+ friend class Alternate;
+ std::unordered_map<std::string, Directive*> substitution_map;
+};
+
+class Alternate : public Clone {
+ public:
+ Alternate(const std::string &attribute,
+ const std::vector<Substitute *> &subdirectives_subs,
+ const std::vector<std::string> &alternatives);