aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-12-03 11:17:43 +0100
committerMax Kellermann <max@duempel.org>2013-12-03 11:46:21 +0100
commit074a23e6b4c7968715cfcc52ab9305be8a9fe3ac (patch)
treed9c3197ab384ae511e90ae044c0a2337079cd03a
parent2fb61534a14666fa407d5c62f7e05d7e6885a531 (diff)
downloadmpd-074a23e6b4c7968715cfcc52ab9305be8a9fe3ac.tar.gz
mpd-074a23e6b4c7968715cfcc52ab9305be8a9fe3ac.tar.xz
mpd-074a23e6b4c7968715cfcc52ab9305be8a9fe3ac.zip
TagBuilder: add method HasType()
-rw-r--r--src/tag/TagBuilder.cxx10
-rw-r--r--src/tag/TagBuilder.hxx7
2 files changed, 17 insertions, 0 deletions
diff --git a/src/tag/TagBuilder.cxx b/src/tag/TagBuilder.cxx
index 25e5cc24b..02749cfd5 100644
--- a/src/tag/TagBuilder.cxx
+++ b/src/tag/TagBuilder.cxx
@@ -74,6 +74,16 @@ TagBuilder::Commit()
return tag;
}
+bool
+TagBuilder::HasType(TagType type) const
+{
+ for (auto i : items)
+ if (i->type == type)
+ return true;
+
+ return false;
+}
+
inline void
TagBuilder::AddItemInternal(TagType type, const char *value, size_t length)
{
diff --git a/src/tag/TagBuilder.hxx b/src/tag/TagBuilder.hxx
index ffc60a1b2..ff6251014 100644
--- a/src/tag/TagBuilder.hxx
+++ b/src/tag/TagBuilder.hxx
@@ -109,6 +109,13 @@ public:
}
/**
+ * Checks whether the tag contains one or more items with
+ * the specified type.
+ */
+ gcc_pure
+ bool HasType(TagType type) const;
+
+ /**
* Appends a new tag item.
*
* @param type the type of the new tag item