/* */ #include "TaggedItem.h" #include #include namespace aria2 { class Concat { private: std::string _delim; public: Concat(const std::string& delim = ""):_delim(delim) {} std::string operator()(const std::string& s1, const std::string& s2) const { return s1+_delim+s2; } }; std::string TaggedItem::toTagString() const { if(_tags.size()) { return std::accumulate(_tags.begin()+1, _tags.end(), _tags.front(), Concat(",")); } else { return ""; } } bool TaggedItem::hasTag(const std::string& tag) const { return std::find(_tags.begin(), _tags.end(), tag) != _tags.end(); } bool TaggedItem::operator<(const TaggedItem& item) const { return _name < item._name; } bool TaggedItem::operator==(const TaggedItem& item) const { return _name == item._name; } } // namespace aria2