const SuffixList &get_input_suffixes() const { return input_suffixes; }
const SuffixList &get_auxiliary_suffixes() const { return aux_suffixes; }
bool accepts_suffix(const std::string &, bool = false) const;
const SuffixList &get_input_suffixes() const { return input_suffixes; }
const SuffixList &get_auxiliary_suffixes() const { return aux_suffixes; }
bool accepts_suffix(const std::string &, bool = false) const;
Target *create_target(Target &, const std::string & = std::string()) const;
virtual Target *create_target(const std::list<Target *> &, const std::string & = std::string()) const = 0;
virtual Task *run(const Target &) const = 0;
Target *create_target(Target &, const std::string & = std::string()) const;
virtual Target *create_target(const std::list<Target *> &, const std::string & = std::string()) const = 0;
virtual Task *run(const Target &) const = 0;