]> git.tdb.fi Git - builder.git/blobdiff - source/toolchain.h
Convert all list containers to vectors
[builder.git] / source / toolchain.h
index 3da6cda9e43ac8cad5438aeccb351ce0743dc0bf..ea452408cd4c6c25ba900a4d662ccc9847ec8f85 100644 (file)
@@ -3,22 +3,27 @@
 
 #include <map>
 #include <string>
+#include <vector>
 
 class Tool;
 
+/**
+A container for tools.  Performs lookup based on tag or filename extension.
+*/
 class Toolchain
 {
 private:
-       typedef std::map<std::string, Tool *> ToolMap;
-
-       ToolMap tools;
+       std::map<std::string, Tool *> tools;
+       std::vector<Toolchain *> chains;
 
 public:
        ~Toolchain();
 
        void add_tool(Tool *);
-       const Tool &get_tool(const std::string &) const;
-       const Tool *get_tool_for_suffix(const std::string &, bool = false) const;
+       void add_toolchain(Toolchain *);
+       bool has_tool(const std::string &) const;
+       Tool &get_tool(const std::string &) const;
+       Tool *get_tool_for_suffix(const std::string &, bool = false) const;
 };
 
 #endif