diff options
author | Ben Longbons <b.r.longbons@gmail.com> | 2014-03-15 19:34:59 -0700 |
---|---|---|
committer | Ben Longbons <b.r.longbons@gmail.com> | 2014-03-16 18:58:48 -0700 |
commit | c812c92d1a1835f0bda783e709481188c8d92225 (patch) | |
tree | b401ede48a088ad1aaed88fe3b997cd26ff7ae08 /src/common/intern-pool.hpp | |
parent | de9ee1b9754af9d954487121947352f32d7ebb7e (diff) | |
download | tmwa-c812c92d1a1835f0bda783e709481188c8d92225.tar.gz tmwa-c812c92d1a1835f0bda783e709481188c8d92225.tar.bz2 tmwa-c812c92d1a1835f0bda783e709481188c8d92225.tar.xz tmwa-c812c92d1a1835f0bda783e709481188c8d92225.zip |
Clean up header organization
Diffstat (limited to 'src/common/intern-pool.hpp')
-rw-r--r-- | src/common/intern-pool.hpp | 41 |
1 files changed, 0 insertions, 41 deletions
diff --git a/src/common/intern-pool.hpp b/src/common/intern-pool.hpp deleted file mode 100644 index e75a359..0000000 --- a/src/common/intern-pool.hpp +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef INTERN_POOL_HPP -#define INTERN_POOL_HPP - -# include <cassert> - -# include <map> -# include <vector> - -# include "../strings/rstring.hpp" -# include "../strings/zstring.hpp" -# include "../strings/xstring.hpp" - -class InternPool -{ - std::map<RString, size_t> known; - std::vector<RString> names; -public: - size_t intern(XString name_) - { - // TODO just look up the XString, the memory should not move by now - RString name = name_; - // hm, I could change this to do aliases - auto pair = known.insert({name, known.size()}); - if (pair.second) - names.push_back(name); - assert (known.size() == names.size()); - return pair.first->second; - } - - ZString outtern(size_t sz) const - { - return names[sz]; - } - - size_t size() const - { - return known.size(); - } -}; - -#endif //INTERN_POOL_HPP |