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
commitf355bdd04a335fffa089dd3d8095461ec0667f78 (patch)
tree074ca8fb52a48a19051d6c7e7036589f1ba4ac69 /decoder/tdict.cc
parentd8760868911aeac33a9191128872a2ba8eb2352a (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)