summaryrefslogtreecommitdiff
path: root/decoder/tdict.cc
diff options
context:
space:
mode:
authorgraehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-07-20 19:43:31 +0000
committergraehl <graehl@ec762483-ff6d-05da-a07a-a48fb63a330f>2010-07-20 19:43:31 +0000
commit2621d66cc3de03395ab0c7a6f85113ed45189641 (patch)
tree95d57d0f88fc7e5c9fdbd9c3f2a1117dda1aa4ae /decoder/tdict.cc
parentd0063ea4ae7dbad8a9148ca3ebf6855cd2aa9af6 (diff)
optional google dense_hash_map, srim vocab (TDICT) as static - may help valgrind warning?
git-svn-id: https://ws10smt.googlecode.com/svn/trunk@339 ec762483-ff6d-05da-a07a-a48fb63a330f
Diffstat (limited to 'decoder/tdict.cc')
-rw-r--r--decoder/tdict.cc16
1 files changed, 9 insertions, 7 deletions
diff --git a/decoder/tdict.cc b/decoder/tdict.cc
index ac590bd8..93f7b0eb 100644
--- a/decoder/tdict.cc
+++ b/decoder/tdict.cc
@@ -5,23 +5,25 @@
using namespace std;
-Vocab* TD::dict_ = new Vocab;
-
-static const string empty;
-static const string space = " ";
+//FIXME: valgrind errors (static init order?)
+Vocab TD::dict_;
unsigned int TD::NumWords() {
- return dict_->numWords();
+ return dict_.numWords();
}
WordID TD::Convert(const std::string& s) {
- return dict_->addWord((VocabString)s.c_str());
+ return dict_.addWord((VocabString)s.c_str());
}
const char* TD::Convert(const WordID& w) {
- return dict_->getWord((VocabIndex)w);
+ return dict_.getWord((VocabIndex)w);
}
+static const string empty;
+static const string space = " ";
+
+
void TD::GetWordIDs(const std::vector<std::string>& strings, std::vector<WordID>* ids) {
ids->clear();
for (vector<string>::const_iterator i = strings.begin(); i != strings.end(); ++i)