X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=source%2Ftoolchain.h;h=a70cdb7308557f5762ce9d45a7bf3bb188be1f03;hb=c3968651eb8a2ba66a95398f0571dd5afd37225c;hp=2c0e3d2a84977933113c0447b00a5a5daae50c60;hpb=1dbeace0c44127bee08a3a8b231f4c8dcf707b2c;p=builder.git diff --git a/source/toolchain.h b/source/toolchain.h index 2c0e3d2..a70cdb7 100644 --- a/source/toolchain.h +++ b/source/toolchain.h @@ -1,6 +1,7 @@ #ifndef TOOLCHAIN_H_ #define TOOLCHAIN_H_ +#include #include #include @@ -12,16 +13,17 @@ A container for tools. Performs lookup based on tag or filename extension. class Toolchain { private: - typedef std::map ToolMap; - - ToolMap tools; + std::map tools; + std::list 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