diff options
-rw-r--r-- | composer/HasMeta.cpp | 16 | ||||
-rw-r--r-- | composer/HasMeta.hpp | 24 |
2 files changed, 40 insertions, 0 deletions
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 |