+++ /dev/null
-#ifndef TOOLCHAIN_H_
-#define TOOLCHAIN_H_
-
-#include <map>
-#include <string>
-#include <vector>
-
-class Tool;
-
-/**
-A container for tools. Performs lookup based on tag or filename extension.
-*/
-class Toolchain
-{
-private:
- std::string name;
- int priority = 0;
- std::map<std::string, Tool *> tools;
- std::vector<Toolchain *> chains;
-
-protected:
- Toolchain(const std::string &n, unsigned p): name(n), priority(p) { }
-public:
- Toolchain() = default;
- ~Toolchain();
-
- const std::string &get_name() const { return name; }
- int get_priority() const { return priority; }
- void add_tool(Tool *);
- 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;
- const std::vector<Toolchain *> &get_toolchains() { return chains; }
-};
-
-#endif