From 610f8eabfba4bd606adbb9a8305672f1a7b1c870 Mon Sep 17 00:00:00 2001
From: mescalinum <mescalinum@users.sourceforge.net>
Date: Fri, 2 Oct 2009 15:45:04 +0000
Subject: forgot 1 thing

svn path=/trunk/externals/ffext/; revision=12511
---
 composer/HasMeta.cpp | 16 ++++++++++++++++
 composer/HasMeta.hpp | 24 ++++++++++++++++++++++++
 2 files changed, 40 insertions(+)
 create mode 100644 composer/HasMeta.cpp
 create mode 100644 composer/HasMeta.hpp

(limited to 'composer')

diff --git a/composer/HasMeta.cpp b/composer/HasMeta.cpp
new file mode 100644
index 0000000..b80c941
--- /dev/null
+++ b/composer/HasMeta.cpp
@@ -0,0 +1,16 @@
+#include "HasMeta.hpp"
+
+bool HasMeta::hasMeta(const string &key)
+{
+    return meta.find(key) != meta.end();
+}
+
+const string HasMeta::getMeta(const string &key)
+{
+    return hasMeta(key) ? meta[key] : "";
+}
+
+void HasMeta::setMeta(const string &key, const string &value)
+{
+    meta[key] = value;
+}
diff --git a/composer/HasMeta.hpp b/composer/HasMeta.hpp
new file mode 100644
index 0000000..5bd74bb
--- /dev/null
+++ b/composer/HasMeta.hpp
@@ -0,0 +1,24 @@
+#ifndef COMPOSER_HASMETA_H_INCLUDED
+#define COMPOSER_HASMETA_H_INCLUDED
+
+#include <map>
+#include <string>
+
+using std::map;
+using std::string;
+
+class HasMeta
+{
+private:
+	map<string,string> meta;
+public:
+	bool hasMeta(const string &key);
+    const string getMeta(const string &key);
+    void setMeta(const string &key, const string &value);
+
+    typedef map<string,string>::const_iterator meta_iterator;
+    inline meta_iterator meta_begin() const {return meta.begin();}
+    inline meta_iterator meta_end() const {return meta.end();}
+};
+
+#endif // COMPOSER_HASMETA_H_INCLUDED
-- 
cgit v1.2.1