00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015 #ifndef CGATOOLS_UTIL_STRINGSET_HPP_
00016 #define CGATOOLS_UTIL_STRINGSET_HPP_ 1
00017
00019
00020 #include "cgatools/core.hpp"
00021 #include <string>
00022 #include <set>
00023
00024 namespace cgatools { namespace util {
00025
00027 class StringSet : public std::set<std::string>
00028 {
00029 public:
00042 StringSet(const std::string& csValues,
00043 const std::string& csUniverse,
00044 const std::string& notFoundMsg);
00045
00048 std::pair<iterator, bool> insert(const std::string& value);
00049
00050 bool contains(const std::string& value) const
00051 {
00052 return 0 != count(value);
00053 }
00054
00055 private:
00056 std::set<std::string> universe_;
00057 std::string notFoundMsg_;
00058 };
00059
00060 } }
00061
00062 #endif // CGATOOLS_UTIL_STRINGSET_HPP_