/* */ #include "TaggedItem.h" #include "a2functional.h" #include "A2STR.h" #include #include namespace aria2 { std::string TaggedItem::toTagString() const { if(_tags.size()) { std::string s(*_tags.begin()); for(std::deque::const_iterator i = _tags.begin()+1; i != _tags.end(); ++i) { s += ","+(*i); } return s; } else { return A2STR::NIL; } } 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; } std::string TaggedItem::toString() const { return toTagString(); } std::ostream& operator<<(std::ostream& o, const TaggedItem& item) { o << item.toString(); return o; } std::ostream& operator<<(std::ostream& o, const SharedHandle& item) { o << (*item.get()).toString(); return o; } } // namespace aria2